Nginx是一款近些年來日益流行的 高效能的HTTP和反向 Proxy伺服器,同時也是一個IMAP/POP3/SMTP Proxy 伺服器 ,他的發音是"Engine X"
(怪不得我感覺之前讀的那麼彆扭,原來讀的不對。。)
,今天剛好又拿到一個ec2配額,在ubuntu上嘗試了一下部署這套環境
對ec2配置的提示 如果你需要在ec2上做web服務,記得到安全性群組的入站設定內允許80連接埠通訊
1.安裝FastCGI
FastCGI是負責Nginx解析php的一個模組,有關FastCGI的介紹請看下文,下文引自 部落格園 - Ubuntu中Nginx的安裝與配置
Nginx完全是輕量級的,必須藉助第三方的FastCGI處理器才可以對PHP進行解析,因此其實這樣看來Nginx是非常靈活的,它可以和任何第三方提供解析的處理器實現串連從而實現對PHP的解析(在nginx.conf中很容易設定)。Nginx可以使用spwan-fcgi。在早期版本中需要安裝lighttpd,但是在9.10版本以後直接安裝spawn-fcgi就可以。
安裝spwan-fcgi可以用ubuntu內建的 apt-get 來安裝
sudo apt-get install spawn-fcgi
2.安裝與啟動nginx
同樣道理安裝nginx也可以用 apt-get 來進行安裝
sudo apt-get install nginx
按照此方式安裝後,nginx的各個檔案位置大概如下
設定檔目錄: /etc/nginx
每個虛擬機器主機的設定檔的目錄: /etc/nginx/sites-available
啟動程式檔案: /usr/sbin/nginx
記錄檔( access.log 和 error.log ): /var/log/nginx
啟動指令碼: /etc/init.d/nginx
虛擬機器主機預設目錄: /usr/share/nginx/www
安裝完成後即可通過啟動指令碼控制nginx開關
啟動: sudo /etc/init.d/nginx start
停止: sudo /etc/init.d/nginx stop
重啟: sudo /etc/init.d/nginx restart
3.安裝PHP、MySQL並配置PHP使之正常運行
繼續使用apt-get安裝php、mysql和中介軟體等組件
sudo apt-get install php5-cli php5-cgi mysql-server php5-mysql
然後定位到nginx的虛擬機器主機配置目錄,編輯 default 這個檔案(記得開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; }
請注意,如果這步配置錯誤或者沒有配置就會出現訪問php指令碼時瀏覽器彈出下載的問題,所以說我並不推薦在配置成功之前便將代碼部署至伺服器,這樣很可能由於配置失誤造成風險。去掉 # With php5-fpm 下面三行代碼的注釋並儲存,然後重啟nginx
sudo /etc/init.d/nginx restart
然後定位到你的虛機主機預設目錄,寫一個簡單的php指令碼儲存下,比如
然後到瀏覽器裡訪問這個指令碼,如果一切正常就算成功了