如何在Ubuntu上配置Nginx+PHP+MySQL

Nginx是一款近些年來日益流行的高性能的HTTP和反向代理服務(wù)器, 如果你需要在ec2上做web服務(wù),需要到安全組的入站設(shè)置內(nèi)允許80端口通訊。

首先需要安裝FastCGI

Nginx完全是輕量級(jí)的,必須借助第三方的FastCGI處理器才可以對(duì)PHP進(jìn)行解析,因此其實(shí)這樣看來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來安裝

sudo apt-get install spawn-fcgi

安裝與啟動(dòng)nginx

同樣道理安裝nginx也可以用apt-get來進(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

安裝完成后即可通過啟動(dòng)腳本控制nginx開關(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è)文件(記得開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ò)誤或者沒有配置就會(huì)出現(xiàn)訪問php腳本時(shí)瀏覽器彈出下載的問題,去掉# 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

全部工作完成可以通過http://localhost訪問網(wǎng)站 http://localhost/phpmyadmin訪問數(shù)據(jù)庫(kù)。