Nginx配置多端口多域名访问的实现
发表于:2025-01-23 作者:千家信息网编辑
千家信息网最后更新 2025年01月23日,在一个服务器上部署多个站点,需要开放多个端口来访问不同的站点,流程很简单,调试花了2小时,记录一下:主域名多端口访问在DNS NameServer设置A记录将 www.xxx.com 指向服务器ip开
千家信息网最后更新 2025年01月23日Nginx配置多端口多域名访问的实现
在一个服务器上部署多个站点,需要开放多个端口来访问不同的站点,流程很简单,调试花了2小时,记录一下:
主域名多端口访问
在DNS NameServer设置A记录
将 www.xxx.com 指向服务器ip
开放所需端口,修改nginx配置文件
比如我们有两个服务分别开放在80端口和8080端口
如果有iptable,先开放端口:
iptables -A INPUT -ptcp --dport 80 -j ACCEPTiptables -A INPUT -ptcp --dport 8080 -j ACCEPT
修改配置文件:
#path: /usr/local/nginx/conf/nginx.confserver {listen 80;server_name www.xxx.com;access_log /data/www/log/33.33.33.33_nginx.log combined;index index.html index.htm index.php;include /usr/local/nginx/conf/rewrite/none.conf;root /data/www/website/33.33.33.33:80;location ~ [^/]\.php(/|$) { fastcgi_pass unix:/dev/shm/php-cgi.sock; fastcgi_index index.php; include fastcgi.conf; }location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|flv|ico)$ { expires 30d; access_log off; }location ~ .*\.(js|css)?$ { expires 7d; access_log off; }}server {listen 8080;server_name A.xxx.com;access_log /data/www/log/33.33.33.33:8080_nginx.log combined;index index.html index.htm index.php;include /usr/local/nginx/conf/rewrite/none.conf;root /data/www/website/33.33.33.33:8080;location ~ [^/]\.php(/|$) { fastcgi_pass unix:/dev/shm/php-cgi.sock; fastcgi_index index.php; include fastcgi.conf; }location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|flv|ico)$ { expires 30d; access_log off; }location ~ .*\.(js|css)?$ { expires 7d; access_log off; }}
关键就是两个 server 段配置,你也可以把这两段拆成两个配置文件,放到
/etc/nginx/conf.d/
目录下面;
子域名多端口访问
这种访问比较傻,因为你的8080端口的访问需要 http://xxx.com:8080 这样的格式;
而且如果有两个不同的cgi,比如80端口对应一个php web服务, 8080端口对应一个nodejs web服务;而我们的nodejs自带web服务,已经在8080端口监听了,这怎么办?
这个时候我们需要Nginx的反向代理功能,并在DNS Server上面增加一条A记录,最终实现
- www.xxx.com 访问80端口
- A.xxx.com 通过nginx转发访问8080端口服务
增加一条A记录
将 A.xxx.com 指向服务器ip
Nginx配置模板如下:
#path: /usr/local/nginx/conf/nginx.confserver { listen 80; server_name www.xxx.com; access_log /data/www/log/33.33.33.33_nginx.log combined; index index.html index.htm index.php; include /usr/local/nginx/conf/rewrite/none.conf; root /data/www/website/33.33.33.33:80; location ~ [^/]\.php(/|$) { fastcgi_pass unix:/dev/shm/php-cgi.sock; fastcgi_index index.php; include fastcgi.conf; } location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|flv|ico)$ { expires 30d; access_log off; } location ~ .*\.(js|css)?$ { expires 7d; access_log off; }}server { listen 80; listen [::]:80; server_name A.XXX.com; proxy_connect_timeout 300s; proxy_send_timeout 300s; proxy_read_timeout 300s; fastcgi_send_timeout 300s; fastcgi_read_timeout 300s; location / { proxy_pass http://127.0.0.1:3000; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection 'upgrade'; proxy_set_header Host $host; proxy_cache_bypass $http_upgrade; try_files $uri $uri/ =404; }}
nginx重新载入配置文件
nginx -s reload
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
端口
服务
配置
两个
文件
服务器
开放
不同
多个
就是
指向
站点
加一
关键
内容
功能
域名
小时
怎么办
时候
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
眼科软件开发
数据库表导出怎么测试
网络安全宣传开幕式讲话
软件开发的测试可分为
浪潮服务器u盘装系统
qq邮箱什么服务器
塔式服务器 电源
一个数据库最多可以备份
信息网络安全学习内容
我的世界服务器安全关闭指令
软件开发实习生两周没有事情
netty服务器推送
腾讯软件开发认证
不能提供全文的数据库是哪个
深圳小型网络技术公司
甘肃网络安全检测工具
dhcp管理授权服务器
人工智能软件开发和应用
kld数据库 维度
惠普服务器2012忘记开机密码
上海朋利网络技术公司地址
客户服务数据库建设
怎么查看达梦数据库数据总大小
构建网络安全环境需求
温州德润互联网科技怎么样
企业的网络安全边界
网络安全证书用的什么字体
多ip香港服务器租赁
悦花越有全返软件开发
图数据库 spark