1、系统要求及安装步骤
参考LNMP官网 安装 - LNMP一键安装包
2、申请SSL证书(备用)
我的域名、服务器都在阿里云,而且阿里云给认证用户(实名个人/企业主体)提供20个SSL的免费额度,足够使用顶级域名、二级域名的使用。以下SSL申请即以阿里云平台申请SSL为例。
1、先登录阿里云,访问证书资源包页面,如下选择后点击购买(注意,结算应该是0元):
2、进入【控制台】-【SSL证书(应用安全)】
3、点击【证书资源包】-【证书申请】
点击【确定】
4、成功后点击列表中的【证书申请】
5、给当前证书绑定域名(只填写需要绑定的域名跟选择对应的联系人,其他默认)
6、点击【下一步】提交申请,如果域名在阿里云,会自动生成DNS的TXT记录,如果不在阿里云,请手动进行域名的TXT解析,添加成功后,点击【验证】按钮。
7、域名的TXT解析验证成功后,点击【提交审核】后,会提示
已经成功提交到CA公司,请您保持电话畅通,并及时查阅邮箱中来自CA公司的电子邮件。
8、返回【证书资源包】列表后,点击操作栏的【下载】按钮
9、在弹出的页面中点击Nginx的下载按钮,会下载的LNMP的虚拟主机对应的SSL文件(备用)
下载的证书文件压缩包,文件内容
3、虚拟主机的添加和管理
参考LNMP官网 LNMP添加、删除虚拟主机及伪静态使用教程
在添加域名后出现询问是否绑定SSL,输入y回车,提示如下:
1: Use your own SSL Certificate and Key
2: Use Let's Encrypt to create SSL Certificate and Key
然后输入1,回车(因为我们会使用第2步中已下载的SSL文件,假设文件已经上传到对应虚拟主机的根目录)
/home/wwwroot/你的域名/下载文件的中的.pem
根据提示,再次输入
/home/wwwroot/你的域名/下载文件的中的.key
晚上以上操作后,使用FTP上传下载的两个证书文件到你新建虚拟主机的根目录,重启Nginx。
lnmp nginx restart
4、虚拟站点vhost的读写授权
LNMP建立虚拟主机后,目录无www权限,读写操作会提示文件无权限,所以需要使用如下命令进行授权
chmod 777 /home/wwwroot/虚拟主机目录/授权读写的目录名/
chown www:www -R /home/wwwroot/虚拟主机目录/授权读写的目录名/
而虚拟主机下的.user.ini为防止跨目录访问的系统文件,使用命令时会提示无权限修改。遇到这样的情况可以先使用chattr的-i命令允许修改.user.ini文件,如下:
chattr -i /home/wwwroot/网站目录/.user.ini
然后使用chown命令进行授权
chown www:www -R /home/wwwroot/虚拟主机目录/授权读写的目录名/
修改后再使用chattr的+i命令设置.user.ini为系统文件,确保网站的安全。
chattr +i /home/wwwroot/网站目录/.user.ini
5、LNMP的安全设置
LNMP安装后会在/home/wwwroot/default/目录下有安装成功的页面index.html,建议删除index.html文件,其他文件重命名,phpmyadmin进行改名。
6、SSL设置后所有http访问强制转https
进行SSL设置后,建议使用https进行网站的访问,LNMP中建议使用301跳转,使用VI编辑虚拟主机的配置文件
vi /usr/local/nginx/conf/vhost/域名.conf
进入编辑状态,对http的80端口中的server进行如下设置:
server {
listen 80;
server_name yourdomain.com;
return 301
https://$host$request_uri;
}
按键盘esc后,输入wq,回车保存,重启Nginx即可。
lnmp nginx restart
如果无法重启成功,请查看文件编辑是否出错,重新修改后保存,重启Nginx。
至此,关于LNMP的虚拟主机开通,SSL申请、SSL绑定、强制https访问都已完成。
如果觉得还不错,请支持我的原创。