一般情況下每個虛擬主機(jī)就是一個網(wǎng)站,網(wǎng)站一般通過域名來進(jìn)行訪問。
LNMP1.3的網(wǎng)站添加過程和LNMP1.1的基本類似,但是增加了FTP和數(shù)據(jù)庫的創(chuàng)建。LNMP1.3的防跨目錄也是由原來在php.ini中設(shè)置移至網(wǎng)站根目錄下的.user.ini進(jìn)行控制。
LNMP 1.1及之前的版本采用/root/vhost.sh 進(jìn)行添加虛擬主機(jī)。
LNMP 1.2開始使用lnmp命令進(jìn)行管理。
虛擬主機(jī)管理基本命令介紹:lnmp vhost {add|list|del}
添加網(wǎng)站(虛擬主機(jī))
如果輸入有錯誤需要刪除時,可以按住Ctrl再按Backspace鍵進(jìn)行刪除。
執(zhí)行:lnmp vhost add出現(xiàn)如下界面:

這里要輸入要添加網(wǎng)站的域名,我們已添加www.vpser.net域名為例,如上圖提示后輸入域名 www.vpser.net 回車后提示

這里詢問是否添加更多域名,輸入 y 回車后添加,如不添加輸入 n 會有如下提示:

如果需要添加更多域名或加上 vpser.net ,輸入后回車確認(rèn)。
注:帶www和不帶www的是不同的域名,如需帶www和不帶的www的域名都訪問同一個網(wǎng)站需要同時都綁定
下面需要設(shè)置網(wǎng)站的目錄,網(wǎng)站目錄不存在的話會創(chuàng)建目錄。也可以輸入已經(jīng)存在的目錄或要設(shè)置的目錄(注意如要輸入必須是全路徑即以/開頭的完整路徑)。不輸入直接回車的話,采用默認(rèn)目錄:/home/wwwroot/域名

偽靜態(tài)可以使URL更加簡潔也利于SEO,如程序支持并且需要設(shè)置偽靜態(tài)的話,如啟用輸入 y ,不啟用輸入 n 回車。

默認(rèn)已經(jīng)有了discuz、discuzx、discuzx2(Discuz X二級目錄)、wordpress、wp2(WordPress二級目錄)、typecho、typecho2(Typecho二級目錄)、sablog、emlog、dabr、phpwind、、dedecms、drupal、ecshop、shopex等常用的Nginx偽靜態(tài)配置文件,可以直接輸入名稱進(jìn)行使用,如果是二級目錄則需要對應(yīng)配置文件里的二級目錄的名稱。

這一步是設(shè)置日志,如啟用日志輸入 y ,不啟用輸入 n 回車。
再輸入要設(shè)置的日志的名稱,默認(rèn)目錄為:/home/wwwlogs/ 默認(rèn)文件名為:域名.log 回車確認(rèn)后,會詢問是否添加數(shù)據(jù)庫和數(shù)據(jù)庫用戶。

如果需要啟用輸入 y ,不啟用輸入 n 回車。
需要驗(yàn)證MySQL的root密碼
提示Enter database name: 后輸入要創(chuàng)建的數(shù)據(jù)庫名稱,要創(chuàng)建的數(shù)據(jù)庫用戶名會和數(shù)據(jù)庫同名,回車確認(rèn)。
提示Please enter password for mysql user 數(shù)據(jù)庫名: 后輸入要設(shè)置的密碼,回車確認(rèn)。
如果安裝了FTP服務(wù)器會詢問是否添加FTP賬號

如果需要添加輸入 y ,不添加輸入 n 回車。
提示Enter ftp account name: 后輸入要創(chuàng)建的FTP賬號名稱,回車確認(rèn)。
提示Enter password for ftp account FTP賬號: 后輸入要設(shè)置的密碼,回車確認(rèn)。
提示 Press any key to start create virtul host... 后,回車確認(rèn)便會開始創(chuàng)建虛擬主機(jī)。
添加成功會提示添加的域名、目錄、偽靜態(tài)、日志、數(shù)據(jù)庫、FTP等相關(guān)信息,如下圖:

偽靜態(tài)管理
LNMPA或LAMP可以直接使用網(wǎng)站根目錄下放.htaccess 來設(shè)置偽靜態(tài)規(guī)則(具體規(guī)則可以去程序官網(wǎng)網(wǎng)站找google百度),但是在LNMP下,需要使用Nginx偽靜態(tài)規(guī)則。
偽靜態(tài)可以隨時添加或刪除,如果添加完虛擬主機(jī)后忘記或沒有添加偽靜態(tài),可以通過修改配置文件來添加偽靜態(tài)。
虛擬主機(jī)配置文件在:/usr/local/nginx/conf/vhost/域名.conf
偽靜態(tài)規(guī)則文件需要放在/usr/local/nginx/conf/ 下面。
編輯虛擬主機(jī)配置文件,可以使用vim。
前面我們添加的虛擬主機(jī),打開后前半部分配置會顯示如下:

在root /home/wwwroot/www.vpser.net;這一行下面添加:
include wordpress.conf;
上面的wordpress.conf為偽靜態(tài)文件,如需要其他偽靜態(tài)文件自己創(chuàng)建個并上傳到/usr/local/nginx/conf/ 下面并include 偽靜態(tài).conf; 加完保存,執(zhí)行:/etc/init.d/nginx restart重啟生效,如果報錯可能是添加有誤或偽靜態(tài)規(guī)則有誤。
上傳網(wǎng)站程序
如果已經(jīng)安裝FTP服務(wù)器可以直接使用ftp客戶端通過你的FTP信息登錄后上傳網(wǎng)站或SFTP等軟件上傳網(wǎng)站,設(shè)置好相關(guān)權(quán)限開始安裝即可。
上傳網(wǎng)站后建議執(zhí)行:chown www:www -R /path/to/dir 對網(wǎng)站目錄進(jìn)行權(quán)限設(shè)置,/path/to/dir替換為你網(wǎng)站目錄。
為了安全可以將一些不需要PHP運(yùn)行的上傳文件之類的目錄去掉執(zhí)行權(quán)限,參考:http://www.vpser.net/security/lnmp-remove-nginx-php-execute.html
列出網(wǎng)站(虛擬主機(jī))
執(zhí)行:lnmp vhost list

刪除網(wǎng)站(虛擬主機(jī))
執(zhí)行:lnmp vhost del

刪除網(wǎng)站會先列出當(dāng)前已有虛擬主機(jī),按提示輸入要刪除的虛擬主機(jī)域名 回車確認(rèn)。
這里只是刪除虛擬主機(jī)配置文件,網(wǎng)站文件并不會刪除需要自己刪除。
LNMP 1.3下需要執(zhí)行:chattr -i /網(wǎng)站目錄/.user.ini 后才能刪除網(wǎng)站目錄。
當(dāng)執(zhí)行chown或chmod對網(wǎng)站目錄屬主屬組或權(quán)限進(jìn)行操作時可能會提示
chown: changing ownership of `/home/wwwroot/default/.user.ini': Operation not permitted
不需要理會,如果有強(qiáng)迫癥可以參考前面先進(jìn)行chattr -i的操作。
默認(rèn)網(wǎng)站(虛擬主機(jī))
LNMP默認(rèn)網(wǎng)站配置文件:/usr/local/nginx/conf/nginx.conf
LNMPA默認(rèn)網(wǎng)站配置文件:/usr/local/nginx/conf/nginx.conf 和 /usr/local/apache/conf/extra/httpd-vhosts.conf
LAMP默認(rèn)網(wǎng)站配置文件:/usr/local/apache/conf/extra/httpd-vhosts.conf
其他事項
LNMP 1.1及之前的版本使用php.ini里面,open_basedir設(shè)置
LNMP 1.2及更高版本防跨目錄功能使用.user.ini,該文件在網(wǎng)站根目錄下,可以修改open_basedir的值來設(shè)置限制目錄的訪問。
.user.ini文件無法直接修改,可以使用winscp文件管理、vim編輯器或nano編輯器進(jìn)行修改。
如要修或刪除需要先執(zhí)行:chattr -i /網(wǎng)站目錄/.user.ini
刪除的話rm -f /網(wǎng)站目錄/.user.ini 就可以。
修改完成后再執(zhí)行:chattr +i /網(wǎng)站目錄/.user.ini
.user.ini不需要重啟一般5分鐘左右生效,也可以重啟一下php-fpm立即生效。
如果要更改網(wǎng)站目錄必須要按上述方法修改防跨目錄的設(shè)置,否則肯定報錯??!
LNMP 1.4上如果不想用防跨目錄還需要將 /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 進(jìn)行移除。
LNMPA或LAMP 1.2上的防跨目錄的設(shè)置使用的對應(yīng)apache虛擬主機(jī)配置文件里的php_admin_value open_basedir參數(shù)進(jìn)行設(shè)置。如果不需要設(shè)置可以在前面加 # 進(jìn)行注釋,或自行修改目錄的限制。
重啟apache生效。
pathinfo設(shè)置
LNMP上各個版本pathinfo各個版本的設(shè)置基本一樣:
lnmp v1.1上,修改對應(yīng)虛擬主機(jī)的配置文件
去掉#include pathinfo.conf前面的#,把try_files $uri =404; 前面加上# 注釋掉。
1.2,1.3上,修改對應(yīng)虛擬主機(jī)的配置文件
將include enable-php.conf;替換為include enable-php-pathinfo.conf;
修改pathinfo需要重啟nginx生效。
數(shù)據(jù)庫管理
1.3以上版本,可以在添加虛擬主機(jī)時選擇創(chuàng)建數(shù)據(jù)庫,也可以單獨(dú)使用 lnmp database add 按提示添加數(shù)據(jù)庫,添加的用戶名和數(shù)據(jù)庫名是同名的。
添加數(shù)據(jù)庫命令:lnmp database add
編輯數(shù)據(jù)庫用戶密碼命令:lnmp database edit
刪除數(shù)據(jù)庫命令:lnmp database del
列出所有數(shù)據(jù)庫命令:lnmp database list