發佈日期:
分類:
如何在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伺服器的地址作表示。
發佈留言