首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
SAAS
ToB门户
了解全球最新的ToB事件
论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
微博
Follow
记录
Doing
博客
Blog
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
排行榜
Ranklist
相册
Album
应用中心
qidao123.com ToB IT社区-企服评测·应用市场
»
论坛
›
运维.售后
›
运维.售后
›
2024 年最新 windows 操作系统搭建摆设 nginx 服务器应 ...
返回列表
发新帖
2024 年最新 windows 操作系统搭建摆设 nginx 服务器应用详细教程(更新中
[复制链接]
发表于 2024-11-22 02:04:03
|
显示全部楼层
|
阅读模式
nginx
服务器
概述
Nginx 是一款高
性能
的 HTTP 和 反向署理
服务器
,同时是一个 IMAP / POP3 / SMTP 署理
服务器
。Nginx 凭借其高
性能
、稳固性、丰富的
功能
集、简朴的设置和低资源消耗而闻名。
欣赏 nginx 官网:
https://nginx.org/
Nginx 应用场景
静态文件服务:Nginx 可以高效地处理大量的静态文件请求,例如 HTML、CSS、JavaScript、图片等。
反向代理:将客户端的请求转发到后端的Web服务器,实现
负载
均衡和请求过滤。
API
网关:作为
API
的入口点,处理
API
请求的路由、认证、限流等。
HTTP / HTTPS 服务器:直接作为 Web 服务器,处理 HTTP 和 HTTPS 请求。
流媒体服务:支持视频、音频等流媒体内容的传输。
复制
代码
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 端口占用的程序
netstat -aon | findstr :80
复制
代码
使用 taskkill 竣事历程(留意:/F 参数表示强制杀死历程)
taskkill /F /PID 【PID】
复制
代码
nginx 服务器设置
nginx 设置文件 conf 目次下 nginx.conf(默认设置 nginx 监听端口 80)
当更新了 nginx 设置文件 nginx.conf 时必要实行 nginx -s reload
nginx -s reload
复制代码
关闭 nginx 服务
快速停止 nginx: nginx -s stop
有序停止 nginx: nginx -s quit
复制代码
taskkill: taskkill /f /t /im nginx.exe
复制代码
nginx 设置反向署理
在 Nginx 中设置哀求转发(也称为反向署理)是一种常见的技术,它答应 Nginx 将客户端的哀求转发到后端服务器(如应用服务器或另一个 Nginx 实例),并将后端服务器的响应返回给客户端。
server {
listen 80; # 监听80端口
server_name yourdomain.com www.yourdomain.com; # 服务器名
location / {
proxy_pass http://backendserver.com; # 转发请求到后端服务器
proxy_set_header Host $host; # 将请求头中的Host字段转发给后端服务器
proxy_set_header X-Real-IP $remote_addr; # 转发真实IP地址
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; # 转发X-Forwarded-For请求头
proxy_set_header X-Forwarded-Proto $scheme; # 转发协议(http或https)
# 可以添加更多的proxy_set_header指令来转发其他请求头
# 如果后端服务器需要HTTPS,确保使用proxy_pass https://...
}
# 其他location块...
}
复制代码
在这个设置中,所有对 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 应用,而无需指定端口号。
server {
listen 80; # 监听80端口
server_name yourdomain.com www.yourdomain.com; # 替换为你的域名
location / {
proxy_pass http://127.0.0.1:8080; # 转发请求到本地的8080端口
proxy_set_header Host $host; # 转发Host头
proxy_set_header X-Real-IP $remote_addr; # 转发真实IP
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; # 转发X-Forwarded-For头
proxy_set_header X-Forwarded-Proto $scheme; # 转发协议(http或https)
# 如果需要处理WebSocket连接,请确保添加以下行
# proxy_http_version 1.1;
# proxy_set_header Upgrade $http_upgrade;
# proxy_set_header Connection "upgrade";
# 其他可能需要的
配置
...
}
# 其他location块...
}
复制代码
请留意,server_name指令应该被设置为你的域名(或IP地点,但出于SEO和
安全
性的考虑,建议使用域名)。如果你没有域名,或者只是想在本地测试这个设置,你可以将server_name设置为localhost或_(下划线),但这将答应Nginx处置惩罚所有未明白指定server_name的哀求,这通常不推荐在生产环境中使用。
留意:设置完成后,不要忘记重新加载或重启 Nginx 以使更改生效。
重新加载 Nginx 设置
sudo nginx -s reload
复制代码
使用 systemctl
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 设置文件
server {
listen 443 ssl;
server_name 需要访问的域名; # 这里替换为实际的域名,不需要加 https://
# 注意:ssl on; 这条指令在新版 Nginx 中不需要,因为 listen 443 ssl 已经隐含了启用 SSL
ssl_certificate C:/Users/Administrator/Desktop/nginx-1.27.1/ssl/xcx.mjrate.com.pem; # 正确的证书文件路径
ssl_certificate_key C:/Users/Administrator/Desktop/nginx-1.27.1/ssl/xcx.mjrate.com.key; # 正确的私钥文件路径
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 5m;
ssl_ciphers HIGH:!aNULL:!MD5; # 您可以考虑使用更现代的密码套件列表
ssl_prefer_server_ciphers on;
# HTTP 到 HTTPS 的重定向(如果需要的话,这里没有直接包含)
location / {
proxy_pass http://127.0.0.1:8080/; # 转发请求到本地的8081端口
proxy_set_header Host $host; # 转发 Host 头
proxy_set_header X-Real-IP $remote_addr; # 转发真实 IP
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; # 转发 X-Forwarded-For 头
proxy_set_header X-Forwarded-Proto $scheme; # 注意:这里 $scheme 在 SSL 上下文中通常是 https,但如果您有特殊的反向代理
配置
,可能需要调整
# 还可以添加其他必要的 proxy_set_header 指令
}
# 其他 location 块或全局
配置
...
}
复制代码
重新加载 Nginx 设置
nginx -s reload
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有账号?
立即注册
×
回复
使用道具
举报
返回列表
锦通
+ 我要发帖
登录后关闭弹窗
登录参与点评抽奖 加入IT实名职场社区
去登录
微信订阅号
微信服务号
微信客服(加群)
H5
小程序
快速回复
返回顶部
返回列表