Nginx部署JavaWeb项目全过程

 更新时间:2024年01月12日 14:43:37   作者:Csea_  
这篇文章主要介绍了Nginx部署JavaWeb项目全过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

1.什么是Nginx

Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,在BSD-like 协议下发行。

其特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好。

2.Nginx 架构

Nginx 在启动后,会有一个 master 进程和多个 worker 进程。

master 进程主要用来管理 worker 进程,包含:接收来自外界的信号,向各 worker 进程发送信号,监控 worker 进程的运行状态,当 worker 进程退出后(异常情况下),会自动重新启动新的 worker 进程。

而基本的网络事件,则是放在 worker 进程中来处理了。

多个 worker 进程之间是对等的,他们同等竞争来自客户端的请求,各进程互相之间是独立的。

一个请求,只可能在一个 worker 进程中处理,一个 worker 进程,不可能处理其它进程的请求。worker 进程的个数是可以设置的,一般我们会设置与机器cpu核数一致,这里面的原因与 Nginx 的进程模型以及事件处理模型是分不开的。

Nginx 的进程模型,可以由下图来表示:

Nginx 的进程模型

更多Nginx具体详见

3.Nginx部署JavaWeb项目

很早就想利用nginx来部署Java Web程序了,今天如愿了,我是在Ubuntu16.04下进行的操作,具体操作如下:

1.更新一下来源:sudo apt-get update

nginx安装使用1

2.安装Nginx:sudo apt-install nginx

nginx安装使用2

安装完毕之后就可以在浏览器里输入你的服务器IP(域名)就能访问到nginx的默认页面了

3.接下来就是配置Nginx了,cd 到nginx的配置文件下:cd /etc/nginx

具体路径,按照自己的安装路径来

nginx安装使用3

4.打开配置文件:vim nginx.conf

nginx安装使用4

可以看到,这里其实并没有让我们进行配置的地方,真正让我们配置项目映射的应该是server{}

通过http的配置最下方会发现,这里有两个人引入:

nginx安装使用5

通过逐级发现,/etc/nginx/sites-enabled/ 指向的是**/etc/nginx/sites-enabled/**下的文件,那么我们就cd下这个文件夹下打开配置文件:

nginx安装使用6

5.OK,通过上面,我们就来到了我们需要配置的地方,加入配置:

		proxy_set_header Host $host;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_pass http://127.0.0.1:9000;

proxy_pass http://127.0.0.1:9000; 就是你自己项目的启动地址,只需要改个端口就可以了~

nginx安装使用7

我这里就只是部署了一个项目,如果需要部署多个项目,那就可以通过配置二级域名或者是不同的访问路径来实现

6.上面的完成时候,保存退出,重启nginx即可:nginx -s reload,现在就可以通过IP(域名)就能够访问到自己部署的项目页面了。

4.通过二级域名部署JavaWeb项目

更刚才一样,来到配置页面,在添加一个server{}配置:

server{
        listen 80;
        server_name XXX(自己的二级域名);

        location / {
        proxy_set_header Host $host;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_pass http://127.0.0.1:9001;
        }
}

添加完毕之后保存退出,重启Nginx就可以访问了。

5.通过不同路径方式部署JavaWeb项目

与一开始一样,只不过这一次,我们不需要再新建一个sever{}来进行配置,只需要在一开始配置的地方再添加一个location:

location /two {
        proxy_set_header Host $host;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_pass http://127.0.0.1:9001;
        }

只是把location 后的这个路径改一下就可以了,但是这个路径要跟项目中的配置一样,项目中的是:

server.context-path: /two

我这里是springboot项目

就这样,保存退出,重启Nginx就可以啦~

这里的配置只是对于Nginx的配置,是Nginx去监听这个端口,自己的项目还是需要另外启动的~

6.补充

启动Nginx:sudo systemctl start nginx

开机自动启动Nginx服务:sudo systemctl enable nginx

关闭开机自动启动Nginx服务:sudo systemctl disable nginx

还可以使用:sudo nginx -t,来测试Nginx是否启动成功,这个也是可以查看每次修改完配置是否正确

Nginx默认是监听80端口

总结

有关Nginx的更多配置~后面自己遇到了再做记录

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。 

相关文章

  • nginx带宽限制 limit_rate limit_rate_after指令

    nginx带宽限制 limit_rate limit_rate_after指令

    这篇文章主要为大家介绍了nginx带宽限制 limit_rate limit_rate_after指令详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-04-04
  • 把ImageMagic库编译进nginx服务器的一些必要配置

    把ImageMagic库编译进nginx服务器的一些必要配置

    这篇文章主要介绍了把ImageMagic库编译进nginx服务器的一些必要配置,本文给出了操作步骤和配置参数示例,需要的朋友可以参考下
    2015-06-06
  • Nginx根据url中的path动态转发到upstream的实现

    Nginx根据url中的path动态转发到upstream的实现

    这篇文章主要介绍了Nginx根据url中的path动态转发到upstream的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-01-01
  • nginx重写和重定向关系与配置方式

    nginx重写和重定向关系与配置方式

    这篇文章主要介绍了nginx重写和重定向关系与配置方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-06-06
  • 定期删除OpenResty/Nginx大日志文件的方法

    定期删除OpenResty/Nginx大日志文件的方法

    这篇文章主要介绍了定期删除OpenResty/Nginx大日志文件的方法,文中通过代码示例给大家讲解的非常详细,对大家的学习或工作有一定的帮助,需要的朋友可以参考下
    2024-05-05
  • Nginx端口被占用的解决方案(systemctl restart nginx失败)

    Nginx端口被占用的解决方案(systemctl restart nginx失败)

    ginx (engine x) 是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP服务器,它也是一种轻量级的Web服务器,可以作为独立的服务器部署网站(类似Tomcat),本文给大家介绍了NGINX启动报错,端口被占用解决方案,需要的朋友可以参考下
    2024-10-10
  • 解决502 Bad Gateway错误的详细指南与实例

    解决502 Bad Gateway错误的详细指南与实例

    这篇文章主要给大家介绍了关于解决502 Bad Gateway错误的详细指南与实例,502 Bad Gateway错误通常是由于网关或代理服务器在尝试访问上游服务器(通常是Web服务器)时未能及时接收到响应导致的,文中将解决办法介绍的非常详细,需要的朋友可以参考下
    2024-05-05
  • Nginx基于gzip压缩提高访问速度

    Nginx基于gzip压缩提高访问速度

    这篇文章主要介绍了Nginx基于gzip压缩提高访问速度,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-06-06
  • nginx安装第三方模块的方法

    nginx安装第三方模块的方法

    这篇文章主要介绍了nginx安装第三方模块的方法,包含在未安装nginx的情况下安装nginx第三方模块和在已安装nginx情况下安装nginx第三方模块,需要的朋友可以参考下
    2014-06-06
  • Ubuntu16.04.1 安装Nginx的方法

    Ubuntu16.04.1 安装Nginx的方法

    这篇文章主要介绍了Ubuntu16.04.1 安装Nginx的方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下。
    2017-01-01

最新评论