LNMP環境的設定是需要讓我們的主機支援Nginx、MySQL、PHP、phpMyAdmin,這樣設定好之後就可以直接使用此環境,並在上面運行網站了,下面我來設定方法。
我們先來看官方說明
LNMP一鍵安裝包是一個用Linux Shell編寫的可以為CentOS/RadHat、Debian/Ubuntu VPS(VDS)或獨立主機安裝LNMP(Nginx、MySQL、PHP、phpMyAdmin)生產環境的Shell程式
1,安裝MySQL
執行指令:
-
- apt-get install -y mysql-server mysql-client
-
-
複製程式碼
複製程式碼
複製程式碼
複製碼
即可安裝MySQL,安裝過程中會詢問 root密碼 ,鍵入你需要的密碼之後回車即可。 mysql_secure_installation
複製代碼
按照提示進行,過程中會詢問是否更改 root密碼,是否移除匿名用戶,是否禁止root遠端登入等。 -
- 2,安裝PHP
-
- 執行指令:
apt-get install php5-fpm php5-gd php5-mysql php5-memcache php5-curl
代碼
- 上面的指令安裝了php5-memcache的擴展,於是繼續安裝 Memcached 。
-
-
-
apt-get install memcached
複製代碼
安裝完畢之後,使用 php5-fpm -v 看看PHP的版本:
root@ztbox:~# php5-fpm -v-
-
-
- 複製代碼
PHP 5.4.16-1~dotdeb.1 (fpm-fcgi) (built: Jun 8 2013 22:20:42)
Copyright (c) 1997-2013 The PHP Group
Zend Engine v2.4.0, Copyright (c) 1998-2013 Zend Technologies
3,安裝Nginx
-
- 這裡我直接安裝了Nginx的全部擴充功能(nginx-full),以應對日後可能出現的功能性增強。
-
-
apt-get install -y nginx-full
複製程式碼
複製程式碼
訪問結果如上圖,接下來設定Nginx。
vim /etc/nginx/sites-available/default ……
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;
-
}
-
……
-
- 修改保存之後重啟Nginx:
service nginx restart
複製程式碼
-
- 複製程式碼
-
-
接下來我們新建一個phpinfo,查看php的詳細資訊:
vim /usr/share/nginx/html/phpinfo.php複製程式碼
儲存之後造訪 http://ip/phpinfo.php , 如果出現 phpinfo 頁面,則大功告成。
如何新建站點
和軍哥的一鍵包不同,此方法所安裝的 LNMP 需要手動新增站點設定檔。
cd /etc/nginx/conf.d複製代碼 進入設定檔目錄,新建一個網站設定文件,例如
-
- vi dearroy.com.conf
-
-
- server {
- listen 80;
-
- server {
- listen 80;
-
- #ipv6
- root /usr/share/nginx/html/dearroy.com;
-
- #預設首頁檔案名稱
- index index.php index.html index.htm;
-
- #綁定網域
- server_name localhost;
-
- #偽靜態規則
- include wordpress.conf;
-
- lo> include wordpress.conf;
-
- lo / { try_files $uri $uri/ /index.html;
- }
- #定義錯誤頁
- #error_page 404 /404.html;
-
- location ~ .php$ {
- fastcgi_plitlit_ fast_plit_path_ fast_o__Lad_5_5_5_5555_5_55555_遠_遠>遠_遠>遠_斯遠> fast__olit_ fast_sft (. .php)(/. )$;
- fastcgi_pass 127.0.0.1:9000;
- fastcgi_index index.php;
- include fastcgi_params;
- }
- }
複製程式碼
保存之後重啟Nginx,新增及綁定網站即完成。
最後,附兩個最常用的程式Nginx偽靜態:
WordPress:
複製程式碼 程式碼如下:location / {
if (-f $request_filename/index.html){
rewrite (.*) $1/index.html break;
}
if (-f $request_filename/index.php){
rewrite (.*) $1/index.php;
}
if (!-f $request_filename){
rewrite (.*) /index.php;
}
}
Discuz X:
複製程式碼 程式碼如下:rewrite ^([^.]*)/topic-(. ).html$ $1/portal.php?mod=topic&topic=$2 last;
rewrite ^([^.]*)/article-([0-9] )-([0-9] ).html$ $1/portal.php?mod=view&aid=$2&page=$3 last;
rewrite ^([^.]*)/forum-(w )-([0-9] ).html$ $1/forum.php?mod=forumdisplay&fid=$2&page=$3 last;
rewrite ^([^.]*)/thread-([0-9] )-([0-9] )-([0-9] ).html$ $1/forum.php?mod=viewthread&tid=$2&extra =page=$4&page=$3 last;
rewrite ^([^.]*)/group-([0-9] )-([0-9] ).html$ $1/forum.php?mod=group&fid=$2&page=$3 last;
rewrite ^([^.]*)/space-(username|uid)-(. ).html$ $1/home.php?mod=space&$2=$3 last;
rewrite ^([^.]*)/([a-z] )-(. ).html$ $1/$2.php?rewrite=$3 last;
if (!-e $request_filename) {
return 404;
|