不知道是哪根筋不對,一直想要在老舊機器安裝Windows Server 2008,然後卡在PHP裝不起來(什麼少了msvcr110.dll…我都裝了VCR 2012 U4了…)好吧我承認是銘傳雲端太方便,捨不得離開R2 Datacenter!哈哈,但是在單核Celeron實在太痛苦,只好改裝最熟悉的陌生人Ubuntu。
之前總是使用Apache來做Server,也是比較常用的Server,會知道Nginx是有一次系網站主機掛掉,出現的Default 404看到Nginx這英文單字才去Google的,原來是輕量級伺服器,但是對於小弟我這初學者實在是感覺不出來Server Loading的重要性…好吧,總是要學學新東西的,先裝起來再說,這次參考的網頁,除了安裝之外,還多了基本的安全性設定喔。
Domain : tvpsh2020.idv.tw
狀態 : 尚未付費,NTD 400/年
Domain : tvpsh2020.no-ip.org
Step0 : 前置作業,架設網路環境
首先先把Software Center的伺服器位置改成US,台灣Ubuntu超慢的,詳細的command-line設定法請參考 Ubuntu Wiki ,小弟我都用GUI設定。雖然一開始有GUI比較方便先微調基本參數,但之後有些事情還是用SSH比較好解決(我總不能一直守在主機前面XD),SSH請參考我的Hadoop架設文章。
Step1 : 安裝Nginx
首先是安裝伺服器Nginx,記得用localhost測試一下,主機跟目錄會在 /usr/share/nginx/html/
1 sudo apt-get install nginx
等等首頁就會變成這樣
Step 2 : 安裝MySQL
1 sudo apt-get install mysql-server
他會問你兩次root要設的密碼
1
2 sudo mysql_install_db
sudo mysql_secure_installation
其中”mysql_secure_installation”會問你要不要變更MySQL的root密碼,剛剛才設定可以不用更動,其他的全部Enter到底
Step 3 : 安裝PHP
是說,Nginx不支援Native PHP,這方面我也沒有特別研究,只知道FastCGI比較快,所以這邊要安裝的是PHP-FPM
1 sudo apt-get install php5-fpm php5-mysql
接下來要進行一些安全性設定
1 sudo vi /etc/php5/fpm/php.ini
找到cgi.fix_pathinfo這行,把分號(semicolon)註解去掉並將參數設成0
1 cgi.fix_pathinfo=0
然後重新啟動服務
1 sudo service php5-fpm restart
接著我們要讓Nginx使用PHP處理器
1 sudo vi /etc/nginx/sites-available/default
以下紅字是去掉註解(或新增)的地方
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27 server {
listen 80 default_server;
listen [::]:80 default_server ipv6only=on;
root /usr/share/nginx/html;
index <span style="color:#ff0000;">index.php</span> index.html index.htm;
server_name <span style="color:#ff0000;">server_domain_name_or_IP</span>;
location / {
try_files $uri $uri/ =404;
}
<span style="color:#ff0000;">error_page 404 /404.html;
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
location ~ .php$ {
try_files $uri =404;
fastcgi_split_path_info ^(.+.php)(/.+)$;
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
include fastcgi_params;
}</span>
}
改完之後重啟服務
1 sudo service nginx restart
Extra : phpMyAdmin
MySQL實在不太熟的人,可以利用phpMyAdmin來用網頁管理MySQL,直覺的GUI讓作業方便許多
1 sudo apt-get install phpmyadmin
之後就是問你密碼,還有一些設定,直接Yes下一步。
接著要產生一個phpMyAdmin捷徑給html根目錄
1 sudo ln -s /usr/share/phpmyadmin /usr/share/nginx/html
還有一些安全性設定,之後重啟服務
1
2 sudo php5enmod mcrypt
sudo service php5-fpm restart
於是phpMyAdmin就會出現在這個網址囉~
server_domain_or_IP/phpmyadmin
—參考文獻
[1] How To Install Linux, nginx, MySQL, PHP (LEMP) stack on Ubuntu 14.04 – https://www.digitalocean.com/community/tutorials/how-to-install-linux-nginx-mysql-php-lemp-stack-on-ubuntu-14-04
[2] How To Install and Secure phpMyAdmin with Nginx on an Ubuntu 14.04 Server – https://www.digitalocean.com/community/tutorials/how-to-install-and-secure-phpmyadmin-with-nginx-on-an-ubuntu-14-04-server
[3] Nginx/FastCGI/PHP-FPM 相關設定 – http://blog.teatime.com.tw/1/post/383
[4] High-performance PHP on apache httpd 2.4.x using mod_proxy_fcgi and php-fpm. – https://wiki.apache.org/httpd/PHP-FPM
搶先發佈留言