2024 年最新 windows 操作系统搭建摆设 nginx 服务器应用详细教程(更新中 ...

锦通  金牌会员 | 2024-11-22 02:04:03 | 显示全部楼层 | 阅读模式
打印 上一主题 下一主题

主题 984|帖子 984|积分 2952

nginx 服务器概述

Nginx 是一款高性能的 HTTP 和 反向署理 服务器,同时是一个 IMAP / POP3 / SMTP 署理服务器。Nginx 凭借其高性能、稳固性、丰富的功能集、简朴的设置和低资源消耗而闻名。
欣赏 nginx 官网:https://nginx.org/

Nginx 应用场景
  1. 静态文件服务:Nginx 可以高效地处理大量的静态文件请求,例如 HTML、CSS、JavaScript、图片等。
  2. 反向代理:将客户端的请求转发到后端的Web服务器,实现负载均衡和请求过滤。
  3. API 网关:作为 API 的入口点,处理 API 请求的路由、认证、限流等。
  4. HTTP / HTTPS 服务器:直接作为 Web 服务器,处理 HTTP 和 HTTPS 请求。
  5. 流媒体服务:支持视频、音频等流媒体内容的传输。
复制代码
windows 安装 nginx

下载地点:https://nginx.org/en/download.html

解压目次

启动 nginx 服务

启动:解压目次位置进行打开 nginx.exe 文件

欣赏器访问:localhost

80 端口占用问题

[emery] blind() to 0.0.0.0:80 failed (10013: An attempt was made to access a socket in a way forbidden by its access permissions) 就是80端口被其他程序占用。
检察 80 端口占用的程序
  1. netstat -aon | findstr :80
复制代码

使用 taskkill 竣事历程(留意:/F 参数表示强制杀死历程)
  1. taskkill /F /PID 【PID】
复制代码
nginx 服务器设置

nginx 设置文件 conf 目次下 nginx.conf(默认设置 nginx 监听端口 80)

当更新了 nginx 设置文件 nginx.conf 时必要实行 nginx -s reload


  1. nginx -s reload
复制代码
关闭 nginx 服务

  1. 快速停止 nginx: nginx -s stop
  2. 有序停止 nginx: nginx -s quit
复制代码
  1. taskkill: taskkill /f /t /im nginx.exe
复制代码
nginx 设置反向署理

在 Nginx 中设置哀求转发(也称为反向署理)是一种常见的技术,它答应 Nginx 将客户端的哀求转发到后端服务器(如应用服务器或另一个 Nginx 实例),并将后端服务器的响应返回给客户端。
  1. server {  
  2.     listen 80; # 监听80端口  
  3.     server_name yourdomain.com www.yourdomain.com; # 服务器名  
  4.     location / {  
  5.         proxy_pass http://backendserver.com; # 转发请求到后端服务器  
  6.         proxy_set_header Host $host; # 将请求头中的Host字段转发给后端服务器  
  7.         proxy_set_header X-Real-IP $remote_addr; # 转发真实IP地址  
  8.         proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; # 转发X-Forwarded-For请求头  
  9.         proxy_set_header X-Forwarded-Proto $scheme; # 转发协议(http或https)  
  10.         # 可以添加更多的proxy_set_header指令来转发其他请求头  
  11.         # 如果后端服务器需要HTTPS,确保使用proxy_pass https://...  
  12.     }  
  13.     # 其他location块...  
  14. }
复制代码
在这个设置中,所有对 yourdomain.com 的哀求都将被转发到 http://backendserver.com。通过 proxy_pass 指令指定了后端服务器的地点。proxy_set_header 指令用于转发哀求头到后端服务器,这对于后端服务器根据哀求头信息(如客户端的真实 IP 地点)做出决策很紧张。
设置 80 端口署理本地 8080 端口
在Nginx中设置 80 端口转发到 8080 端口,意味着你想要让 Nginx 监听 80 端口(HTTP 的尺度端口),并将所有接收到的哀求转发到本地(或长途)的 8080 端口上。这通常用于将 Web 应用的默认 HTTP 端口(如Tomcat 的 8080)暴露给尺度的 HTTP 端口,从而用户可以直接通过 HTTP 协议访问 Web 应用,而无需指定端口号。
  1. server {  
  2.     listen 80; # 监听80端口  
  3.     server_name yourdomain.com www.yourdomain.com; # 替换为你的域名  
  4.   
  5.     location / {  
  6.         proxy_pass http://127.0.0.1:8080; # 转发请求到本地的8080端口  
  7.         proxy_set_header Host $host; # 转发Host头  
  8.         proxy_set_header X-Real-IP $remote_addr; # 转发真实IP  
  9.         proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; # 转发X-Forwarded-For头  
  10.         proxy_set_header X-Forwarded-Proto $scheme; # 转发协议(http或https)  
  11.   
  12.         # 如果需要处理WebSocket连接,请确保添加以下行  
  13.         # proxy_http_version 1.1;  
  14.         # proxy_set_header Upgrade $http_upgrade;  
  15.         # proxy_set_header Connection "upgrade";  
  16.   
  17.         # 其他可能需要的配置...  
  18.     }  
  19.   
  20.     # 其他location块...  
  21. }
复制代码
请留意,server_name指令应该被设置为你的域名(或IP地点,但出于SEO和安全性的考虑,建议使用域名)。如果你没有域名,或者只是想在本地测试这个设置,你可以将server_name设置为localhost或_(下划线),但这将答应Nginx处置惩罚所有未明白指定server_name的哀求,这通常不推荐在生产环境中使用。
   留意:设置完成后,不要忘记重新加载或重启 Nginx 以使更改生效。
  重新加载 Nginx 设置
  1. sudo nginx -s reload
复制代码
使用 systemctl
  1. sudo systemctl reload nginx
复制代码
如果你遇到任何问题,确保 Nginx 正在运行,并且你的防火墙或安全组规则答应从外部访问 80 端口。如果你是在本地机器上测试这个设置,并且无法从外部访问它,那么这大概是由于你的防火墙设置或ISP(互联网服务提供商)的限制。在这种情况下,你可以实验从同一台机器上的不同欣赏器或使用 curl 下令来测试设置。
设置 ssl 证书

SSL证书(全称Secure Sockets Layer Certificate)是一种数字证书,其核心作用是在互联网通讯中实现数据的安全传输。
SSL证书基本概念
SSL证书是服从SSL协议,由受信任的数字证书颁发机构CA(Certificate Authority),在验证服务器身份后颁发的一种数字证书。它雷同于驾驶证、护照和营业执照的电子副本,安装在服务器上后,也被称为SSL服务器证书。SSL证书通过在客户端(如欣赏器)和服务器之间建立一条SSL安全通道(Secure Socket Layer),确保在互联网上传输的数据得到掩护,防止被未经授权的第三方窃取或窜改。
nginx.conf 设置文件
  1. server {  
  2.     listen 443 ssl;  
  3.     server_name 需要访问的域名; # 这里替换为实际的域名,不需要加 https://  
  4.   
  5.     # 注意:ssl on; 这条指令在新版 Nginx 中不需要,因为 listen 443 ssl 已经隐含了启用 SSL  
  6.   
  7.     ssl_certificate C:/Users/Administrator/Desktop/nginx-1.27.1/ssl/xcx.mjrate.com.pem; # 正确的证书文件路径  
  8.     ssl_certificate_key C:/Users/Administrator/Desktop/nginx-1.27.1/ssl/xcx.mjrate.com.key; # 正确的私钥文件路径  
  9.   
  10.     ssl_session_cache shared:SSL:1m;  
  11.     ssl_session_timeout 5m;  
  12.   
  13.     ssl_ciphers HIGH:!aNULL:!MD5; # 您可以考虑使用更现代的密码套件列表  
  14.     ssl_prefer_server_ciphers on;  
  15.   
  16.     # HTTP 到 HTTPS 的重定向(如果需要的话,这里没有直接包含)  
  17.   
  18.     location / {  
  19.         proxy_pass http://127.0.0.1:8080/; # 转发请求到本地的8081端口  
  20.         proxy_set_header Host $host; # 转发 Host 头  
  21.         proxy_set_header X-Real-IP $remote_addr; # 转发真实 IP  
  22.         proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; # 转发 X-Forwarded-For 头  
  23.         proxy_set_header X-Forwarded-Proto $scheme; # 注意:这里 $scheme 在 SSL 上下文中通常是 https,但如果您有特殊的反向代理配置,可能需要调整  
  24.   
  25.         # 还可以添加其他必要的 proxy_set_header 指令  
  26.     }  
  27.   
  28.     # 其他 location 块或全局配置...  
  29. }
复制代码
重新加载 Nginx 设置
  1. nginx -s reload
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

锦通

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表