Nginx分端口部署两个或多个项目(包含反向代理配置)

这篇具有很好参考价值的文章主要介绍了Nginx分端口部署两个或多个项目(包含反向代理配置)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Author:think

一、部署Nginx

若读者没有部署安装Nginx,则可以参考下面这篇文章进行安装。

CentOS 7非编译安装Nginx_think_mzs的博客-CSDN博客

二、分析Nginx配置文件

通过上面的方法安装的Nginx,其配置文件在/etc/nginx/目录下,如下图所示。
Nginx分端口部署两个或多个项目(包含反向代理配置)

其中nginx.conf为Nginx的主要配置文件,在conf.d文件夹中还存在着其他配置文件,通过nginx.conf文件中的include语句导入至Nginx中。

nginx.conf文件内容如下所示。

user  nginx;
worker_processes  1;

error_log  /var/log/nginx/error.log warn;
pid        /var/run/nginx.pid;


events {
    worker_connections  1024;
}


http {
    include       /etc/nginx/mime.types;
    default_type  application/octet-stream;

    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

    access_log  /var/log/nginx/access.log  main;

    sendfile        on;
    #tcp_nopush     on;

    keepalive_timeout  65;

    #gzip  on;

    include /etc/nginx/conf.d/*.conf;
}

第31行语句表示将/etc/nginx/conf.d/目录下的所有.conf文件包含至配置文件中。因此我们可以在conf.d目录下创建我们项目的配置文件。

conf.d目录下默认拥有一份配置文件:default.conf,其内容如下:

server {
    listen       80;
    server_name  localhost;

    #charset koi8-r;
    #access_log  /var/log/nginx/host.access.log  main;

    location / {
        root   /usr/share/nginx/html;
        index  index.html index.htm;
    }

    #error_page  404              /404.html;

    # redirect server error pages to the static page /50x.html
    #
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
    }

    # proxy the PHP scripts to Apache listening on 127.0.0.1:80
    #
    #location ~ \.php$ {
    #    proxy_pass   http://127.0.0.1;
    #}

    # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
    #
    #location ~ \.php$ {
    #    root           html;
    #    fastcgi_pass   127.0.0.1:9000;
    #    fastcgi_index  index.php;
    #    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
    #    include        fastcgi_params;
    #}

    # deny access to .htaccess files, if Apache's document root
    # concurs with nginx's one
    #
    #location ~ /\.ht {
    #    deny  all;
    #}
}

这一整个配置文件代表着一个服务,其中第2listen 80表示该服务监听80端口。

服务的根目录配置位于第8至第11行,其中root /usr/share/nginx/html;表示服务所在的目录。第10行的 index index.html index.htm;代表支持的首页文件。

三、准备演示页面

项目1的index.html文件内容如下。

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>think</title>
	</head>
	<body>
		<h1>这是项目1首页</h1>
	</body>
</html>

项目2的index.html文件内容如下。

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>think</title>
	</head>
	<body>
		<h1>这是项目2首页</h1>
	</body>
</html>

以上两个index.html文件分别代表两个WEB项目作为演示。

四、上传项目

使用Xftp将两个项目上传至Nginx的web目录下。
Nginx分端口部署两个或多个项目(包含反向代理配置)

两个index.html页面分别存放在project1project2文件夹中。

五、配置Nginx

项目1我们使用80端口进行发布,因此我们需要修改default.conf文件中的web目录为/usr/share/nginx/html/project1,如下图所示。
Nginx分端口部署两个或多个项目(包含反向代理配置)
项目2我们使用8080端口进行发布,因此我们需要在conf.d目录中新建一个配置文件:project2.conf
Nginx分端口部署两个或多个项目(包含反向代理配置)

配置文件名称可以自己定义,但必须是.conf文件!

project2.conf文件内容如下所示。

server {
    listen       8080;
    location / {
        root   /usr/share/nginx/html/project2;
        index  index.html index.htm;
    }
}

使用命令nginx -s reload使得配置文件生效。

六、访问测试

我的服务器ip为:192.168.0.55,因此我访问http://192.168.0.55即可访问到项目1。
Nginx分端口部署两个或多个项目(包含反向代理配置)
访问http://192.168.0.55:8080即可访问到项目2首页。
Nginx分端口部署两个或多个项目(包含反向代理配置)

注意:如果服务器没有开启8080端口,那么直接访问8080防火墙将会被服务器的防火墙所拦截。因此,当发现访问项目2时出现无法访问,则依次执行以下命令开启8080端口。

  • 防火墙开启8080端口

    firewall-cmd --zone=public --add-port=5672/tcp --permanent 
    
  • 使防火墙配置立即生效。

    firewall-cmd --reload
    

七、反向代理配置

若是需要进行反向代理,则是需要使用如下配置。

server {
    listen       80;
    server_name  localhost;

    #charset koi8-r;
    #access_log  /var/log/nginx/host.access.log  main;

    location / {
        #开启代理功能,因为.net core的默认端口为5000,因此这里设置成5000,如遇变化则该处端口配置也要变化
        proxy_pass http://localhost:5000;
    }

    error_page  404              /404.html;

    # redirect server error pages to the static page /50x.html
    #
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
    }
}

方向代理配置完成之后,通过80端口访问服务器,该请求将会被重定向至服务器中的监听5000端口的服务。

至此,使用Nginx发布两个或者多个项目的教程已经结束。若还有其他项目,则可以按照project2的配置方式新建配置文件进行发布即可。文章来源地址https://www.toymoban.com/news/detail-446428.html

到了这里,关于Nginx分端口部署两个或多个项目(包含反向代理配置)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 用Nginx做端口转发(反向代理)

    本文中,我们介绍Nginx如何做端口转发,还有各种转发规则 首先介绍最常用的,将域名转发到本地另一个端口上 这样访问 http://tomcat.shaochenfeng.com 时就会转发到本地的 8080 端口

    2024年02月14日
    浏览(34)
  • 使用Nginx反向代理,将React项目打包后部署到服务器的二级子目录

    我们上线一个项目的时候如果服务器上只有这一个项目的话可以直接将打包后的代码部署到服务器指定的根目录,然后直接上线看就可以看到,不用配置其他项。 但是,如果服务器有多个项目的话,我们就需要将代码部署到服务器根目录里边的子目录了,而放到子目录的话,

    2024年03月26日
    浏览(39)
  • IIS8.5反向代理实现80端口访问多个.NetCore程序

          目前仅有一台域名备案并开通80端口的服务器,而有多个部署在此服务器的.NetCore程序需要与微信进行独立的集成(同一个认证微信服务号),因此需要实现非80端口反向代理外网80端口,例如通过a.test.com和b.test.com即可访问当前服务器的8028和8029端口上部署的程序。  

    2024年02月10日
    浏览(25)
  • nginx 反向代理服务器端口转发问题

    先介绍一下项目背景,公司里有个外包Saas项目,这里假设为A项目( 前后端不分离 );项目架构大概如下;但是项目部署到生产环境时,那台服务器80端口被其他应用占用了(我尼玛...),nginx监听端口那边只能监听其他端口了,比如监听:18000,通过nginx反向代理将18000端口转发到

    2024年02月04日
    浏览(40)
  • 阿里云CentOS8系统上Nginx部署多个Vue项目(多端口监听)

    阿里云CentOS8系统上安装Nginx服务器----Vue项目部署(一) 阿里云CentOS8系统上部署前后端分离项目----Vue项目部署(二) 编译工具:webstorm 终端中输入:npm run build 打包成功,文件都生成在项目中dist下 将打包好的Vue项目的dist文件夹中的文件全部上传到服务器上。 路径位于上一步查到

    2024年02月06日
    浏览(48)
  • 利用nginx/apache代理wss 实现 小程序 端口 反向代理

    除了用Workerman自身的SSL,也可以利用nginx/apache作为wss代理转发给workerman 我就是栽在这大坑里(nginx/apache代理wss,workerman部分就不要设置ssl,否则将无法连接,两个方法2选1)官方推荐用nginx/apache代理wss 如果是微信小程序,要添加合法域名 格式:wss://域名 结尾不要加/,可以:端

    2024年02月12日
    浏览(28)
  • nginx反向代理webSocket程序并配置SSH端口

    需求背景:当前有个网页版的XShell项目(webSocket程序同理),需要使用到nginx做反向代理 XShell项目是Java开发的,端口为: 9017 ,与nginx部署在同一台Linux中 在sbin文件夹中,执行命令: 查看是否出现 configure arguments: --with-stream 存在上述参数,证明支持SSH,如: 不存在上述参数,

    2024年02月12日
    浏览(30)
  • Nginx常用配置-反向代理-https重定向-端口转发

    二级目录映射 目前前后端项目分离场景多了以后,一般是前端一个端口,后端一个端口。 如前端是https://example.com/index.html,调用的接口是https://example.com:4433 如此部署对于一些小项目未免有些麻烦,当然你在公网环境下也可以选择使用子域名、其他域名进行跨域访问。 这里说

    2024年02月16日
    浏览(29)
  • 实战指南:使用 Nginx 反向代理实现多端口跳转

    在现代 Web 开发中,Nginx作为一款高性能的开源反向代理服务器,提供了强大的功能来管理网络流量和路由。本文将介绍如何利用 Nginx 的反向代理功能,将不同路径的请求转发到不同端口的 Tomcat 服务上,以实现多端口跳转的效果。 使用 Nginx 的强大反向代理功能,我们能够根

    2024年02月19日
    浏览(37)
  • linux下nginx配置https和反向代理本地端口

    1 修改配置文件/etc/nginx/sites-enabled/default  在配置文件中增加一个server用来做https端口监听, ssl_certificate和ssl_certificate_key修改为自己申请的https认证文件 location  /pose {              proxy_pass http://127.0.0.1:10084;   } 此处将以/pose开始的api转发到本机127.0.0.1:10084,需要注意的

    2024年02月12日
    浏览(29)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包