1、準備環境php
LNMP 1.4 下載版:(不含源碼安裝包文件,僅有安裝腳本及配置文件) http://soft.vpser.net/lnmp/lnmp1.4.tar.gz (134KB) MD5: 223585139fb613f47990b1b41979adea 完整版: 國內:http://soft1.vpser.net/lnmp/lnmp1.4-full.tar.gz (467MB) 國外:http://soft2.vpser.net/lnmp/lnmp1.4-full.tar.gz (467MB) MD5: f1121dbf903e02f2e98987f6cabd5198 最後更新:2018年2月28日 10:50 GMT+8 下載完建議先驗證MD5。
2、實操流程nginx
一、已部署上線項目,添加https,執行lnmp ssl addapache
二、選擇配置SSL證書方式框架
三、完成配置SSL證書codeigniter
四、檢查Let's Encrypt是否自動續期工具
五、部署SSL證書後續工做(301跳轉)網站
咱們在安裝SSL證書以後,http和https都是能夠訪問到站點的,可是爲了惟一性,咱們確定須要作301跳轉到https指向。spa
一、目錄地址文件.net
/usr/local/nginx/conf/vhost
咱們須要到這個目錄中當前站點的.conf配置文件。code
二、修改配置文件
server { listen 80; server_name www.xxx.com; rewrite ^(.*) https://$server_name$1 permanent; }
咱們將上面的腳本添加到當前站點配置文件中。(conf配置文件,雙server)
server { listen 443; server_name www.xxx.com; ...... } server { listen 80; server_name www.xxx.com; rewrite ^(.*) https://$server_name$1 permanent; }
總結,就這樣咱們就很快速、簡單的在站點部署了Let's Encrypt免費SSL證書。老左估摸着具體的部署方法在新版本出來的時候也不會有太大變化。
問題1:nginx: [warn] conflicting server name "www.xxx.com" on 0.0.0.0:443, ignored
我原本域名是在http下的,新增https域名訪問,lnmp自動在www.xxx.com.conf下插入了一個新的server致使報錯,刪除便可
問題2:防跨目錄設置
lnmp1.4上若是不想用防跨目錄或者修改.user.ini的防跨目錄的目錄還須要將
/usr/local/nginx/conf/fastcgi.conf
裏面的
fastcgi_param PHP_ADMIN_VALUE "open_basedir=$document_root/:/tmp/:/proc/";
在該行行前添加 # 或刪除改行,須要重啓nginx。
lnmp1.4上也能夠直接使用lnmp1.4/tools/ 目錄下的
進行移除。
在Thinkphp、codeigniter、Laravel等框架下,網站目錄通常是在public下,可是public下的程序要跨目錄調用public上級目錄下的文件,由於LNMP默認是不容許跨目錄訪問的,因此都是必需要將防跨目錄訪問的設置去掉,有時候這些框架類的程序提示500錯誤也多是這個問題引發的。
LNMPA或LAMP 模式1.2版本以上的防跨目錄的設置使用的對應apache虛擬主機配置文件(lnmp管理工具添加的話文件是 /usr/local/apache/conf/vhost/域名.conf )裏的php_admin_value open_basedir參數進行設置。若是不須要設置能夠在前面加 # 進行註釋,或自行修改目錄的限制。 重啓apache生效。