一直听说Nginx配置子域名比较简单,但是步骤比较繁琐,并且PHP解析比较恶心人,不过,这个坑已经踩完了 那就看看我写的文档吧!
不过需要注意的是:我的服务器是Ubuntu16.04,本机安装的环境是原始的LNMP环境,服务器购买的是阿里云服务器,SSL证书采用的也是阿里云的免费SSL证书,废话不多说了,开始配置吧!
准备工作
- 一个好用的SSH客户端,远程操控你的Linux服务器使用 推荐一个客户端:Putty 下载地址:https://debuginn.pipipan.com/fs/19432704-365589566 良心推荐一个客户端,是需要付费的:FinalShell【链接】;
- 本机环境系统最好是Ubuntu16.04,但都是大同小异,Ubuntu基本一致;
- 先配置好自己本机的环境,我的是LNMP环境,不知道怎么配置的话,我这有教程 《Ubuntu16.04部署LNMP环境》;
- 在自己网站根目录下新建自己子域名为名字的文件夹:例如我的文件夹位置在:/var/www/html/,新建文件夹名称为bbs.debuginn.cn。
阿里云SSL证书下载
申请完证书之后,需要点击右下角申请,填写自己二级域名名称及地区提交审核
填写完信息之后提交填写申请,等待审核,审核完毕之后进行下载对应之于民的SSL证书,选择Nginx证书下载:
一般下载的证书都是有两个文件,分别是*.key和*.pem两个文件。
上传证书
将文件上传至服务器nginx文件夹下:
一般Nginx文件夹位置:/etc/nginx/
在nginx文件夹下新建一个cert文件夹,并把认证文件上传至自己创建的文件夹下
代码语言:javascript复制# 打开nginx文件位置
cd /etc/nginx
# 创建cert文件夹
mkdir cert
# 安装lrzsz软件
sudo apt-get install lrzsz
# 上传命令:rz
# 下载命令:sz 文件路径/文件名称
# 上传本地证书文件
rz
# 在弹出的对话框中选择要上传的证书文件即可
填写配置
看一下你的nginx文件目录和我的文件目录一致么,一致的话那就来吧,我的nginx文件版本是:nginx version: nginx/1.10.3 (Ubuntu)
创建子域名配置文件
打开sites-available文件夹,创建一个自己子域名.conf文件,例如bbs.debuginn.cn.conf文件
代码语言:javascript复制# 打开文件位置
cd /etc/nginx/sites-available/
# 创建文件
sudo touch bbs.debuginn.cn.conf
# 编辑文件
vim bbs.debuginn.cn.conf
子域名配置设置
代码语言:javascript复制server {
# HTTPS端口设置
listen 443;
# 子域名设置
server_name bbs.debuginn.cn;
# 开启SSL
ssl on;
# 子域名对应文件夹位置
root /var/www/html/bbs.debuginn.cn;
index index.html index.php;
# 子域名加载对应SSL证书文件
ssl_certificate cert/**_bbs.debuginn.cn.pem;
ssl_certificate_key cert/**_bbs.debuginn.cn.key;
ssl_session_timeout 5m;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
location / {
try_files $uri $uri/ /index.php?$args;
}
# PHP解析设置
location ~ .php$ {
include snippets/fastcgi-php.conf;
# With php7.0-cgi alone:
# fastcgi_pass 127.0.0.1:9000;
# With php7.0-fpm:
fastcgi_pass unix:/run/php/php7.2-fpm.sock;
}
}
server {
# 端口设置
listen 80;
# 二级域名设置
server_name bbs.debuginn.cn;
# 301重定向设置
return 301 https://$server_name$request_uri;
}
链接配置
配置好了文件之后,执行下列命令:
代码语言:javascript复制ln -s /etc/nginx/sites-available/bbs.debuginn.cn.conf /etc/nginx/sites-enable
执行完命令之后看看sites-enable文件是否出来了配置文件的软链接:
修改hosts文件
打开hosts文件,在Ubuntu系统下文件位置在:/etc/hosts
代码语言:javascript复制vim /etc/hosts
# 添加解析
127.0.0.1 bbs.debuginn.cn
检查Nginx配置是否成功
执行nginx -t命令,是否出现successful单词,提示没有语法错误,没有的话就执行重启命令,必须重启哦,不重启配置文件是不会执行的。
代码语言:javascript复制sudo systemctl restart nginx
查看是否成功
好了 执行到此步,你就应该成功了,看看是否成功了吧!
要是没有配置好了 但是不能访问,可能是你需要777权限,这是一下就可以了:
代码语言:javascript复制chmod -R 777 /var/www/html/bbs.debuginn.cn
好了,教程到此结束,有问题的话就在评论区问我吧!
本文链接:https://cloud.tencent.com/developer/article/1558240
本文采用CC BY-NC-SA 3.0 Unported协议进行许可,转载请保留此文章链接