当前位置:首页 > 教程 > 正文内容

多个nginx可以吗(nginx多个项目使用一个端口)

2023-04-27 06:40:05教程1

nginx多个项目使用一个端口

Nginx是一个流行的Web服务器软件,需要进行配置才能正确使用。以下是简单的Nginx配置步骤:

1. 安装Nginx软件:通过互联网搜索及官网下载最新的Nginx安装包进行安装。2. 设置服务监听端口:编辑Nginx主配置文件,设置监听端口,默认是80端口。3. 配置域名解析:通过配置文件中的server段设置Nginx对应的域名、访问控制等等。4. 配置静态文件目录:配置文件中location段指定静态文件所在目录及相应URL文件目录对应关系,加快文件服务器的访问速度。5. 重启Nginx服务:配置完成后,通过命令行可执行nginx -t测试语法,然后再执行sudo nginx -s reload重启Nginx服务。需要注意的是,Nginx配置的详细操作过程因环境、场景不同而异。如遇困难可以查阅Nginx官方_。

nginx多个项目使用一个端口 路径

nginx从1.9.0开始,新增加了一个stream模块,用来实现四层协议的转发、代理或者负载均衡等。比如在内网有一个mysql服务,想暴露到公网上去使用,就可以通过nginx代理的方式通过nginx来进行内网mysql的访问。

实验环境

nginx1.12.1 : 192.168.1.19

mysql : 192.168.1.20:3306

1:编译或者升级nginx至版本1.9.0以上,编译过程中需带上--with-stream。

# ./configure --prefix=/opt/apps/nginx --with-stream

# make && make install

2:配置stream,定义代理192.168.1.20的3306端口映射为端口2333。

# vi /opt/apps/nginx/conf/nginx.conf

……

……

events {

use epoll;

worker_connections 65535;

}

#stream配置

stream {

server {

listen 2333;

proxy_connect_timeout 1s;

proxy_timeout 3s;

proxy_pass 192.168.1.20:3306;

}

}

http {

……

……

}

3:开启nginx,验证代理是否生效。

image.png

可以看到我们现在可以通过nginx代理的端口访问到内网的mysql服务了。这也直接避免了mysql直接暴露到公网,增加些许的安全。当然,利用stream也可以实现后端服务的负载均衡。

nginx多个server共用端口

https配置步骤:

1、申请SSL证书;

2、在Nginx服务器上面安装SSL证书:

(1)将证书文件(.crt文件)放到指定目录下,例如:/usr/local/nginx/conf/cert

(2)将私钥文件(.key文件)放到指定目录,例如/usr/local/nginx/conf/ssl

(3)若为CA机构签发证书,需要将中间证书文件放到指定目录下,例如/usr/local/nginx/conf/certs

3、修改Nginx配置文件:

(1)打开/etc/nginx/nginx.conf文件

(2)在http部分增加如下配置

ssl on;

ssl_certificate /usr/local/nginx/conf/cert/xxx.crt;

ssl_certificate_key /usr/local/nginx/conf/ssl/xxx.key;

ssl_session_cache shared:SSL:1m;

ssl_session_timeout 5m;

(3)如果是CA证书,还需要增加配置

ssl_client_certificate /usr/local/nginx/conf/certs/xxx.crt;

4、重新加载Nginx配置文件:nginx -s reload

5、测试配置是否正确:

(1)curl -k https://www.xxx.com (测试https是否正常)

(2)openssl s_client -connect www.xxx.com:443 (检查ssl证书是否安装正确)

nginx配置多个端口号

nginx默认的端口为80,我们根据需求修改默认端口。

修改步骤

1、打开Nginx的配置文件nginx.conf

2、修改默认端口的值即可(nginx默认的端口为80)

nginx多个项目使用一个端口怎么办

在开发静态页面时,类似Vue的应用,我们常会调用一些接口,这些接口极可能是跨域,然后浏览器就会报cross-origin问题不给调。

最简单的解决方法,就是把浏览器设为忽略安全问题,设置--disable-web-security。不过这种方式开发PC页面到还好,如果是移动端页面就不行了。

解决办法

使用Nginx转发请求。把跨域的接口写成调本域的接口,然后将这些接口转发到真正的请求地址。

其实不仅是在开发调试时候能这么干,在生产环境也能这么玩。利用Nginx转发请求之后,就能够让所要部署的静态页面不需要放在跟请求接口同域的地方。

nginx一个端口代理多个服务

可以通过以下步骤实现nginx服务器的公网访问。可以通过端口映射实现nginx服务器的公网访问。nginx服务器默认监听80端口,而默认情况下公网不允许直接访问内网,因此需要进行端口映射。通过将公网地址的某一个端口映射到nginx服务器的80端口,可以实现公网访问nginx服务器的功能。具体实现方式需要根据网络环境和配置进行调整,一般可以通过路由器或防火墙的端口映射功能实现。需要注意的是,开放公网访问时需要加强服务器安全性配置,以避免黑客攻击等安全问题。

本网站文章仅供交流学习 ,不作为商用, 版权归属原作者,部分文章推送时未能及时与原作者取得联系,若来源标注错误或侵犯到您的权益烦请告知,我们将立即删除.

本文链接:https://www.xibujisuan.cn/98801330.html