IT Knowledge Base

~ Without sacrifice, there can be no victory ~

發佈日期:

如何在Ubuntu Desktop 16.04下‧安裝apache伺服器運行Codeigniter程式碼作為客戶端‧及以Nginx伺服器作為前向代理(Reverse proxy server)

01. 客戶端的apache伺服器IP地址是10.233.68.210。前向代理(Reverse proxy server)的Nginx伺服器IP地址是10.233.68.203。

02. 針對客戶端的apache伺服器。安裝系統後,先進行更新步驟。

sudo apt-get update
sudo apt-get upgrade

03. 安裝apache、PHP7、MySQL及phpMyAdmin服務。

sudo apt-get install apache2 libapache2-mod-php php7.0 php7.0-mysql mysql-server phpmyadmin

04. 利用相同網絡內的任何電腦,測試http://10.233.68.210網頁,會看到apache的歡迎畫面。

05. 針對apache作出phpMyAdmin的設定。

sudo gedit /etc/apache2/sites-enabled/000-default.conf

06. 在000-default.conf檔案中,加入以下內容。

Alias /phpmyadmin "/usr/share/phpmyadmin/"
<Directory "/usr/share/phpmyadmin/">
Order allow,deny
Allow from all
Require all granted
</Directory>

07. 重新啟動apache服務。

sudo service apache2 restart

08. 利用相同網絡內的任何電腦,測試http://10.233.68.210/phpmyadmin網頁,會看到phpMyAdmin的畫面。

09. 將有關的數據庫經phpMyAdmin倒入到MySQL內。

10. 將Codeigniter的程式碼抄到/var/www/html目錄。以之前的book_system及event_calendar的Codeigniter程式碼作測試。

11. 因為apache會以客戶端方式運行,為避免任何人可以存取這伺服器,更改埠(Port)的位置為其他數值。當然也可以沿用埠(Port)80,再在路由器或防火牆作出控制。

12. 再次打開000-default.conf檔案。

sudo gedit /etc/apache2/sites-enabled/000-default.conf
將:
<VirtualHost *:80>
更改為:
<VirtualHost *:8080>
將:
# AccessFileName .htaccess
更改為:
AccessFileName .htaccess
加入以下內容:
<Directory /var/www/html/>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>

13. 打開port.conf檔案

sudo gedit /etc/apache2/ports.conf
將:
Listen 80
更改為:
Listen 8080

14. 確定rewrite模組已啟動。

sudo a2enmod rewrite

15. 重新啟動apache服務。

sudo service apache2 restart

16. 針對2個的Codeigniter的程式,打開其config.php檔案。

sudo gedit /var/www/html/book_system/application/config/config.php
sudo gedit /var/www/html/event_calendar/application/config/config.php
將:
$config['base_url'] = 'http://10.233.68.210/book_system/';
更改為:留意的是,這個IP地址是Nginx伺服器的IP地址,因為我們將會利用Nginx伺服器作為前向代理,如這裡沿用之前的apache IP地址及埠80,第一是埠80已經更改為埠8080,第二是在執行程式時,Nginx伺服器會自己改回apache的IP地址。
$config['base_url'] = 'http://10.233.68.203/book_system/';
將:
$config['base_url'] = 'http://10.233.68.210/event_calendar/';
更改為:留意的是,這個IP地址是Nginx伺服器的IP地址,因為我們將會利用Nginx伺服器作為前向代理,如這裡沿用之前的apache IP地址及埠80,第一是埠80已經更改為埠8080,第二是在執行程式時,Nginx伺服器會自己改回apache的IP地址。
$config['base_url'] = 'http://10.233.68.203/event_calendar/';

17. 到此完成對客戶端apache伺服器(10.233.68.210)及Codeigniter程式碼的設定。

18. 來到Nginx伺服器(10.233.68.203)。

19. 安裝系統後,先進行更新步驟。

sudo apt-get update
sudo apt-get upgrade

20. 安裝Nginx服務。

sudo apt-get install nginx

21. 針對Nginx作出設定。打開default檔案。

sudo gedit /etc/nginx/sites-enabled/default
將:
location / {
try_files $uri $uri/ =404;
}
更改為:
location / {
proxy_pass http://10.233.68.210:8080/;
}

22. 重新啟動Nginx服務。

sudo service nginx restart

23. 到此完成對Nginx伺服器作為前向代理(Reverse proxy server)的設定。

24. 利用相同網絡內的任何電腦,測試http://10.233.68.203/網頁,會看到2個的Codeigniter程式,隨便打開一個,便會看到執行畫面,而IP地址卻以Nginx伺服器的地址作表示。

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *