Nginx是一款高性能的开源Web服务器和反向代理服务器,具有出色的负载均衡和缓存功能。它不仅可以提供网站内容,还可以加速网站加载速度、增强安全性,并减少服务器资源占用。Nginx已经成为Web服务器和应用程序交付的不可或缺的一部分。本文将介绍如何使用Nginx服务器发布项目。
一、安装Nginx
参考我之前写过的文章:Windows安装Nginx
二、配置Nginx,实现项目发布
我们这里要配置Nginx\conf\nginx.conf文件。
listen:监听的端口;
(监听端口需要避免占用,尤其是win-server,需要关闭IIS在80端口的默认项目)
server_name:监听的域名(填写localhost即为公网IP);
location里proxy_pass:设置转发的目标地址;
server {
listen 80;
server_name image.damon-liu.cn;
location / {
root C:/Damon/images;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
这里给出的例子的意思是:当收到对image.damon-liu.cn域名的http请求访问时,转发请求到我们的C:/Damon/images文件夹。
三、实现HTTPS请求访问项目
和http请求访问的处理方式类似,https请求访问我们需要监听443端口,同时给域名配置ssl证书(即配置crt证书文件和key密钥文件的路径)
为此,我们需要添加配置:
server {
#SSL 默认访问端口号为 443
listen 443 ssl;
#请填写绑定证书的域名
server_name image.damon-liu.cn;
#请填写证书文件的相对路径或绝对路径
ssl_certificate ../ssl/damonimage/image.damon-liu.cn_bundle.crt;
#请填写私钥文件的相对路径或绝对路径
ssl_certificate_key ../ssl/damonimage/image.damon-liu.cn.key;
ssl_session_timeout 5m;
#请按照以下套件配置,配置加密套件,写法遵循 openssl 标准。
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
#请按照以下协议配置
ssl_protocols TLSv1.2 TLSv1.3;
ssl_prefer_server_ciphers on;
location / {
root C:/Damon/images;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
这里给出的例子的意思是:当收到对image.damon-liu.cn域名的https请求访问时,转发请求到我们的C:/Damon/images文件夹。
四、实现强制HTTPS请求
实际使用场景中,用户不一定会使用https协议访问,这时候我们可以统一请求方式,将http请求统一转发为https请求。
为此,我们需要添加配置:
server {
listen 80;
#请填写绑定证书的域名
server_name image.damon-liu.cn;
#把http的域名请求转成https
return 301 https://image.damon-liu.cn;
}
server {
listen 443 ssl;
#请填写绑定证书的域名
server_name sub.image.damon-liu.cn;
#把http的域名请求转成https
return 301 https://image.damon-liu.cn;
}
由配置可见,我们收到访问域名image.damon-liu.cn的http请求时会转发到https://image.damon-liu.cn站点。同时我们也可以监听443端口的https://sub.image.damon-liu.cn访问,将请求转发到https://image.damon-liu.cn站点。
Damon, Chinese, Liu Guangzhi, Software development engineer, CSDN quality creator, Ali Cloud expert blogger, Microsoft Technology Associate, Good at C#, Java, PHP, Python, etc, Love sports, Workaholic, Communist.