nginx 配置站点
nginx 配置站点
需求描述:
web 前端开发,通常在静态资源打包后需要上传发布至服务器以便用户通过 ip 或者域名进行资源的访问。
提示
nginx 版本:1.14.1
操作系统:centos 8.0
域名:www.tj520.top
无 ssl 证书的配置:
- 进入 nginx 站点配置目录:
cd /etc/nginx/conf.d
- 创建并写入配置文件,名称随意,后缀需为
.conf
vim demo.conf
- 之后后写入配置:
server {
listen 80; #端口号
server_name tj520.top www.tj520.top; #站点域名
location / {
root /loclink-project/production-code/vue3-cms/; # web静态所在的绝对路径
index index.html index.htm;
try_files $uri $uri/ /index.html; #该配置防止history模式下刷新跳转至404
}
}
配置完成退出保存即可
热重载 nginx 配置文件:
nginx -s reload
有 ssl 证书的配置(腾讯云为例):
提示
若需要代理到的域名希望使用 https
进行安全访问,例如:https://www.tj520.top,则需要为该域名安装 ssl
证书。
如何获取证书请查阅:SSL 证书申请流程
以下为nginx
中安装ssl
证书流程
- 申请证书成功后下载证书压缩包,并解压。
- 将解压后得到的
.crt
文件以及.key
文件通过文件上传工具上传至服务器的/etc/nginx/
文件夹下。 - 创建并写入配置文件:
vim demo.conf
- 写入配置:
server {
#SSL 默认访问端口号为 443
listen 443 ssl;
#请填写绑定证书的域名
server_name tj520.top www.tj520.top;
#请填写证书文件的相对路径或绝对路径
ssl_certificate tj520.top_bundle.crt;
#请填写私钥文件的相对路径或绝对路径
ssl_certificate_key tj520.top.key;
ssl_session_timeout 5m;
#请按照以下协议配置
ssl_protocols TLSv1.2 TLSv1.3;
#请按照以下套件配置,配置加密套件,写法遵循 openssl 标准。
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
ssl_prefer_server_ciphers on;
location / {
#网站主页路径。此路径仅供参考,具体请您按照实际目录操作。
#例如,您的网站主页在 Nginx 服务器的 /etc/www 目录下,则请修改 root 后面的 html 为 /etc/www。
root /loclink-project/production-code/blog/;
index index.html index.htm;
try_files $uri $uri/ /index.html; #该配置防止history模式下刷新404
}
}
server {
listen 80; #端口号
server_name tj520.top www.tj520.top; #站点域名
return 301 https://$host$request_uri; # 重定向到https
}
- 保存并退出
- 测试配置文件是否配置正确:
nginx -t
- 热重载 nginx 配置文件:
nginx -s reload