1. 首先安裝好 Ubuntu 12.04.2 LTS 版後,先不急著 update 系統,因為內建安裝的 nginx 是 1.1.19 版,先加入來源 source 後,可以升級到 1.4.2 版,參考來源。
將下面這行文字加入到 /etc/apt/sources.list 最後一行即可
deb http://nginx.org/packages/ubuntu/ precise nginx
2. 加入 Ubuntu source 來源的 public key,有兩種方式。
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys ABF5BD827BD9BF62
或是下載 nginx signing key (按右鍵另存),參考來源。
sudo apt-key add nginx_signing.key
3. 接著就進行系統 update & upgrade 的步驟
sudo apt-get update
sudo apt-get upgrade
4. 更新完畢後,就可以直接安裝 Nginx 了,安裝完畢後,就是 1.4.2-1 版
sudo apt-get install nginx
如果想看是否安裝成功,執行下列指令。
service nginx start
看到這個畫面就表示OK,簡單吧!
5. 接著安裝 MySQL + php5,這裡主要是以安裝 php5-fpm 當作 php 服務,參考來源,一併安裝包括 XCACHE 加速等。
sudo apt-get install mysql-server libapache2-mod-auth-mysql php5-mysql fcgiwrap php5-fpm php5-xcache php5-pgsql php5-curl php5-gd php5-intl php-pear php5-imagick php5-imap php5-mcrypt php5-memcache php5-ming php5-ps php5-pspell php5-recode php5-snmp php5-sqlite php5-tidy php5-xmlrpc php5-xsl
上面的 mysql-server libapache2-mod-auth-mysql php5-mysql 部分是安裝 MySQL,其餘就是 php5-fpm XCACHE 以及需要的相關模組,安裝過程中會問到 MySQL root 的密碼,記得要輸入。
6. 安裝 phpmyadmin 以及建立連結
sudo apt-get install phpmyadmin
建立連結到 /var/www 下。
ln -s /usr/share/phpmyadmin/ phpmyadmin
7. 修改 php5-fpm 的 php.ini 資料
sudo nano /etc/php5/fpm/php.ini
找到類似下面的資料,把前面的 ";" 取消,並將數值改為 0
cgi.fix_pathinfo=0
同時也可依照需求修改下列數值
upload_max_filesize = 2M ---> 上傳大小限制
post_max_size = 8M ---> 發表檔案大小限制
default_socket_timeout = 60 ---> 等待時間,最好加大以免連線失敗
修改 www.conf 資料
sudo nano /etc/php5/fpm/pool.d/www.conf
找到 listen = 127.0.0.1:9000 的字樣,改成下列資料,使用 php5-fpm 服務
listen = /var/run/php5-fpm.sock
7. 修改 nginx 定義檔,把預設的 www 路徑設定到 /var/www 下,以及改為 php5-fpm 服務等資料,檔案內容大致如下,紅色粗體是有更動過的內容,請自行參考。其中 lister [::]80 的確可以支援 IPv6 的瀏覽,各位可以自行試試。
server {
listen 80; ## listen for ipv4; this line is default and implied
listen [::]:80 default ipv6only=on; ## listen for ipv6
server_name localhost;
root /var/www;
index index.php index.html index.htm;
#charset koi8-r;
#access_log /var/log/nginx/log/host.access.log main;
location / {
try_files $uri $uri/ /index.html;
}
error_page 404 /index.html;
# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /var/www;
}
# proxy the PHP scripts to Apache listening on 127.0.0.1:80
#
#location ~ \.php$ {
# proxy_pass http://127.0.0.1;
#}
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
location ~ \.php$ {
# root html;
# fastcgi_pass 127.0.0.1:9000;
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
# deny access to .htaccess files, if Apache's document root
# concurs with nginx's one
#
#location ~ /\.ht {
# deny all;
#}
}
8. 重新啟動相關服務即可
sudo service php5-fpm restart
sudo service nginx restart
9. 其他相關參考來源
How to Install Linux, nginx, MySQL, PHP (LEMP) stack on Ubuntu 12.04
在Ubuntu 12.04 安裝Nginx
How to get the latest nginx on Ubuntu 12.04.2 LTS
ubuntu 的官網怎麼沒辦法下載iso檔...
回覆刪除可以喔!不過台灣的網點下載比較快,可以到國家高速網路與計算中心下載 12.04.3,網址: ftp://ftp.twaren.net/Linux/Ubuntu/ubuntu-cd/
回覆刪除請問,我做到安裝phpmyadmin後,要建立連結到 /var/www 下,但會出現底下的訊息
回覆刪除ln: failed to create symbolic link ‘./phpmyadmin’: 拒絕不符權限的操作
ln -s /usr/share/phpmyadmin/ phpmyadmin ->這樣不是會建在使用者家目錄下嗎?
還是我應該先到/var/www/底下再執行?
另外,安裝的過程,有一步要你選 apache2 或 lighttpd ,要選什麼啊?
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
回覆刪除這行我無法抓到 $document_root 的路徑
因為這樣設定開啟 php 檔,只會出現 No input file specified.
所以我改成 fastcgi_param SCRIPT_FILENAME /var/www/$fastcgi_script_name;
這樣就能正常顯示
請教一下,$document_root 的路徑是在那邊設定啊?