1.4版添加了SSL選項可以選擇Letsencrypt和自備SSL证書,多PHP版本選擇等功能。1.3版增加了FTP和數據庫的創建等。LNMP1.4的跨目錄同時增加在fastcgi.conf中進行管控,LNMP1.2的防跨目錄也由原來在php.ini中設置移至網站根目錄下的.user.ini 進行控制。
LNMP 1.1及之前的版本採用/root/vhost.sh 進行添加虛擬主機。
LNMP 1.2開始使用lnmp命令進行管理,具體可以參看更新記錄
虛擬主機管理基本命令介紹:
lnmp vhost {add|list|del}
之前版本的LNMP都可以升級到新版的lnmp管理腳本,升級到1.4教程
添加網站(虛擬主機)
如果輸入有錯誤需要刪除時,可以按住Ctrl再按Backspace鍵進行刪除。
執行:lnmp vhost add 出現如下界面:
Manager for LNMP, Written by Licess http://lnmp.org Please enter domain(example:www.lnmp.org):
這裡要輸入要添加網站的域名,我們已添加www.vpser.net域名爲例,如上圖提示後輸入域名 www.vpser.net 回車後提示
Enter more domain name(example: lnmp.org *.lnmp.org):
這裡詢問是否添加更多域名,直接再輸入要綁定的域名,這裡我們將 vpser.net 也綁上,多個域名空格隔開,如不需要綁其他域名就直接回車。
(注:帶www和不帶www的是不同的域名,如需帶www和不帶的www的域名都訪問同一個網站需要同時都綁定)。
下面需要設置網站的目錄
Default directory: /home/wwwroot/www.lnmp.org:
網站目錄不存在的話會創建目錄。也可以輸入已經存在的目錄或要設置的目錄(注意如要輸入必須是全路徑即以/開頭的完整路徑!!!)。不輸入直接回車的話,採用默認目錄:/home/wwwroot/域名
Allow Rewrite rule? (y/n)
偽靜態可以使URL更加簡潔也利於SEO,如程序支持並且需要設置偽靜態的話,如啓用輸入 y ,不啓用輸入 n 回車(注意LNMPA或LAMP模式沒有該選擇項!)。
Please enter rewrite of programme, wordpress,discuz,typecho,sablog,typecho rewrite was exist. (Default rewrite: other):
默認已經有了discuz、discuzx、discuzx2(Discuz X二級目錄)、wordpress、wp2(WordPress二級目錄)、typecho、typecho2(Typecho二級目錄)、sablog、emlog、dabr、phpwind、、dedecms、drupal、ecshop、shopex等常用的Nginx偽靜態配置文档,可以直接輸入名稱進行使用,如果是二級目錄則需要對應配置文档裡的二級目錄的名稱。
Allow access log? (y/n)
這一步是設置日志,如啓用日志輸入 y ,不啓用輸入 n 回車。
Enter access log filename(Default:www.lnmp.org.log):
如果啓用需要再輸入要設置的日志的名稱,默認日志目錄爲:/home/wwwlogs/ 默認文档名爲:域名.log 回車確認後,會詢問是否添加數據庫和數據庫用戶。
Create database and MySQL user with same name (y/n)
如果需要添加數據庫輸入 y ,不添加數據庫輸入 n 回車。
Create database and MySQL user with same name (y/n) y Enter current root password of Database (Password will not shown):
如果要添加,需要先驗证MySQL的root密碼(注:輸入密碼將不顯示)
提示Enter database name: 後輸入要創建的數據庫名稱,要創建的數據庫用戶名會和數據庫同名,回車確認。
提示Please enter password for mysql user 數據庫名: 後輸入要設置的密碼,回車確認。
如果安裝了FTP服務器會詢問是否添加FTP賬號
Create ftp account (y/n)
如果需要添加輸入 y ,不添加輸入 n 回車。
Enter ftp account name: lnmp Enter password for ftp account lnmp: mima
提示Enter ftp account name: 後輸入要創建的FTP賬號名稱,回車確認。
提示Enter password for ftp account FTP賬號: 後輸入要設置的密碼,回車確認。
接下來是1.4新增的添加SSL功能
Add SSL Certificate (y/n)
如果需要添加輸入 y ,不添加輸入 n 回車。
選擇了添加SSL會提示
Add SSL Certificate (y/n) y 1: Use your own SSL Certificate and Key 2: Use Let's Encrypt to create SSL Certificata and Key Enter 1 or 2:
有兩個選項,1 選項爲使用自己準備好的SSL证書和key。
Enter 1 or 2: 1 Please enter full path to SSL Certificate file: /usr/local/nginx/conf/ssl/lnmp.org.crt Please enter full path to SSL Certificate Key file: /usr/local/nginx/conf/ssl/lnmp.org.key
> > 提示Please enter full path to SSL Certificate file 後輸入要SSL证書的完整路徑和文档名,回車確認。
> > 提示Please enter full path to SSL Certificate Key file: 後輸入輸入要key文档的完整路徑和文档名,回車確認。
2 選項爲使用免費SSL证書提供商Letsencrypt的证書,自動生成SSL证書等信息。
2: Use Let's Encrypt to create SSL Certificate and Key Enter 1 or 2: 2 Please enter your email address:
需要輸入一個郵箱回車確認。
提示 Press any key to start create virtul host... 後,回車確認便會開始創建虛擬主機。
添加成功會提示添加的域名、目錄、偽靜態、日志、數據庫、FTP等相關信息,如下:
Virtualhost infomation: Your domain: www.vpser.net Home Directory: /home/wwwroot/www.vpser.net Rewrite: none Enable log: yes Database username: vpser Database userpassword: vpser.net Database Name: vpser Create ftp account: no
偽靜態管理
LNMPA或LAMP可以直接使用網站根目錄下放.htaccess 來設置偽靜態槼則(具體槼則可以去程序官網網站找google百度),但是在LNMP下,需要使用Nginx偽靜態槼則。
偽靜態可以隨時添加或刪除,如果添加完虛擬主機後忘記或沒有添加偽靜態,可以通過修改配置文档來添加偽靜態。
虛擬主機配置文档在:/usr/local/nginx/conf/vhost/域名.conf
偽靜態槼則文档需要放在/usr/local/nginx/conf/ 下面。
編輯虛擬主機配置文档,可以使用vi、nano或winscp,後2個工具對新手來說簡單些。
例如前面我們添加的虛擬主機,打開後前半部分配置會顯示如下:
log_format www.vpser.net '$remote_addr - $remote_user [$time_local] "$request"' '$status $body_bytes_sent "$http_referer"' '"$http_user_agent" $http_x_forwarded_for'; server { listen 80; server_name www.vpser.net vpser.net www.vpser.org vpser.org; index index.html index.htm index.php default.html default.htm default.php; root /home/wwwroot/www.vpser/net; include wordpress.conf; location ~ .*\.(php|php5)?$ { try_files $url =404; fastcgi_pass unix:/tmp/php-cgi.sock; fastcgi_index index.php; include fcgi.conf; } }
在root /home/wwwroot/www.vpser.net;這一行下面添加:
include wordpress.conf;
上面的wordpress.conf爲偽靜態文档,如需要其他偽靜態文档自己創建個並上傳到/usr/local/nginx/conf/ 下面並include 偽靜態.conf; 加完保存,執行:
/etc/init.d/nginx restart
重啓生效,如果報錯可能是添加有誤或偽靜態槼則有誤。
上傳網站程序
如果已經安裝FTP服務器可以直接使用ftp客戶耑通過你的FTP信息登錄後上傳網站或sftp等軟體上傳網站,設置好相關權限開始安裝即可。
上傳網站後建議執行:chown www:www -R /path/to/dir 對網站目錄進行權限設置,/path/to/dir替換爲你網站目錄。
爲了安全可以將一些不需要PHP運行的上傳文档之類的目錄去掉執行權限,參考:http://www.vpser.net/security/lnmp-remove-nginx-php-execute.html
列出網站(虛擬主機)
執行
lnmp vhost list
Manager for LNMP, Written by Licess http://lnmp.org Nginx Virtualhost list: www.vpser.net
##刪除網站(虛擬主機)##
執行:
lnmp vhost del
Manager for LNMP, Written by Licess http://lnmp.org Current Virtualhost: Nginx Virtualhost list: www.vpser.net Please enter domai you want to delete:
刪除網站會先列出當前已有虛擬主機,按提示輸入要刪除的虛擬主機域名 回車確認。
這裡只是刪除虛擬主機配置文档,網站文档並不會刪除需要自己刪除。
LNMP 1.2下需要執行:chattr -i /網站目錄/.user.ini 後才能刪除網站目錄。
當執行chown或chmod對網站目錄屬主屬組或權限進行操作時可能會提示chown: changing ownership of `/home/wwwroot/default/.user.ini': Operation not permitted,不需要理會,如果有強迫症可以參考前面先進行chattr -i的操作。
默認網站(虛擬主機)
LNMP默認網站配置文档:/usr/local/nginx/conf/nginx.conf
LNMPA默認網站配置文档:/usr/local/nginx/conf/nginx.conf 和 /usr/local/apache/conf/extra/httpd-vhosts.conf
LAMP默認網站配置文档:/usr/local/apache/conf/extra/httpd-vhosts.conf
防跨目錄設置
LNMP 1.1及之前的版本使用php.ini裡面,open_basedir設置
LNMP 1.2及更高版本防跨目錄功能使用.user.ini,該文档在網站根目錄下,可以修改.user.ini 裡面的open_basedir的值來設置限制訪問的目錄或刪除來移除防跨目錄的設置。
.user.ini文档無法直接修改,如要修或刪除需要先執行:chattr -i /網站目錄/.user.ini
可以使用winscp文档管理、vim編輯器或nano編輯器進行修改。
刪除的話rm -f /網站目錄/.user.ini 就可以。
修改完成後再執行:chattr +i /網站目錄/.user.ini
.user.ini不需要重啓一般5分鍾左右生效,也可以重啓一下php-fpm立即生效。
如果要更改網站目錄必須要按上述方法修改防跨目錄的設置,否則肯定報錯!!
LNMP 1.4上如果不想用防跨目錄或者修改.user.ini的防跨目錄的目錄還需要將 /usr/local/nginx/conf/fastcgi.conf 裡面的fastcgi_param PHP_ADMIN_VALUE "open_basedir=$document_root/:/tmp/:/proc/"; 在該行行前添加 # 或刪除改行,需要重啓nginx。
LNMP 1.4上也可以直接使用lnmp1.4/tools/ 目錄下的 ./remove_open_basedir_restriction.sh 進行移除。
LNMPA或LAMP 模式1.2版本以上的防跨目錄的設置使用的對應apache虛擬主機配置文档(lnmp管理工具添加的話文档是 /usr/local/apache/conf/vhost/域名.conf )裡的php_admin_value open_basedir參數進行設置。如果不需要設置可以在前面加 # 進行注釋,或自行修改目錄的限制。
重啓apache生效。
pathinfo設置
LNMP上各個版本pathinfo各個版本的設置基本一樣:
lnmp v1.1上,修改對應虛擬主機的配置文档
去掉#include pathinfo.conf前面的#,把try_files $uri =404; 前面加上# 注釋掉。
1.2,1.3上,修改對應虛擬主機的配置文档
將
include enable-php.conf;
替換爲
include enable-php-pathinfo.conf;
修改pathinfo需要重啓nginx生效。
數據庫管理
1.3以上版本,可以在添加虛擬主機時選擇創建數據庫,也可以單獨使用 lnmp database add 按提示添加數據庫,添加的用戶名和數據庫名是同名的。
添加數據庫命令:
lnmp database add
編輯數據庫用戶密碼命令:
lnmp database edit
刪除數據庫命令:
lnmp database del
列出所有數據庫命令:
lnmp database list