如何在Ubuntu上配置Nginx+PHP+MySQL
Nginx是一款近些年來(lái)日益流行的高性能的HTTP和反向代理服務(wù)器, 如果你需要在ec2上做web服務(wù),需要到安全組的入站設(shè)置內(nèi)允許80端口通訊。
首先需要安裝FastCGI
Nginx完全是輕量級(jí)的,必須借助第三方的FastCGI處理器才可以對(duì)PHP進(jìn)行解析,因此其實(shí)這樣看來(lái)Nginx是非常靈活的,它可以和任何第三方提供解析的處理器實(shí)現(xiàn)連接從而實(shí)現(xiàn)對(duì)PHP的解析(在nginx.conf中很容易設(shè)置)。
Nginx可以使用spwan-fcgi。在早期版本中需要安裝lighttpd,但是在9.10版本以后直接安裝spawn-fcgi就可以。
安裝spwan-fcgi可以用ubuntu自帶的apt-get來(lái)安裝
sudo apt-get install spawn-fcgi
安裝與啟動(dòng)nginx
同樣道理安裝nginx也可以用apt-get來(lái)進(jìn)行安裝
sudo apt-get install nginx
按照此方式安裝后,nginx的各個(gè)文件位置大概如下
配置文件目錄: /etc/nginx
每個(gè)虛擬主機(jī)的配置文件的目錄: /etc/nginx/sites-available
啟動(dòng)程序文件: /usr/sbin/nginx
日志文件(access.log 和 error.log): /var/log/nginx
啟動(dòng)腳本: /etc/init.d/nginx
虛擬主機(jī)默認(rèn)目錄: /usr/share/nginx/www
安裝完成后即可通過(guò)啟動(dòng)腳本控制nginx開(kāi)關(guān)
啟動(dòng): sudo /etc/init.d/nginx start
停止: sudo /etc/init.d/nginx stop
重啟: sudo /etc/init.d/nginx restart
安裝PHP、MySQL并配置PHP使之正常運(yùn)行
繼續(xù)使用apt-get安裝php、mysql和中間件等組件
sudo apt-get install php5-cli php5-cgi mysql-server php5-mysql
然后定位到nginx的虛擬主機(jī)配置目錄,編輯default這個(gè)文件(記得開(kāi)sudo),然后找如下代碼
location ~ \.php$ {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
# NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini
#?????? # With php5-cgi alone:
#?????? fastcgi_pass 127.0.0.1:9000;
#?????? # With php5-fpm:
#?????? fastcgi_pass unix:/var/run/php5-fpm.sock;
#?????? fastcgi_index index.php;
#?????? include fastcgi_params;
}
請(qǐng)注意,如果這步配置錯(cuò)誤或者沒(méi)有配置就會(huì)出現(xiàn)訪問(wèn)php腳本時(shí)瀏覽器彈出下載的問(wèn)題,去掉# With php5-fpm下面三行代碼的注釋并保存,然后重啟nginx
終端輸入:
sudo /etc/init.d/nginx restart
/usr/bin/spawn-fcgi -a 127.0.0.1 -p 9000 -C 5 /usr/bin/php-cgi
全部工作完成可以通過(guò)http://localhost訪問(wèn)網(wǎng)站 http://localhost/phpmyadmin訪問(wèn)數(shù)據(jù)庫(kù)。








