ubuntu下Nginx+Tomcat发布运行javaWeb项目

这里不再叙说如何安装Nginx和Tomcat,直接贴上相关链接:
ubuntu下手动搭建Nginx
ubuntu14.04下配置tomcat8

下面进入正文:

将你的项目war包通过filezilla上传到tomcat下的webapps目录下,至此Tomcat这部分已经完成,
接下来直接配置Nginx,首先大家先不急着配置 查看下自己的Nginx安装好分布在哪些目录下,喜欢研究的朋友去了解下,linux系统每一个文件下放置哪些东西,这边不在累赘。

执行下面的命令:

sudo find / -name nginx

nginx相关目录

好了,大家对照自己的目录看下,其中/etc/nginx/目录下有一个nginx.conf文件,这个是nginx的配置文件,我们打开进行编辑:

sudo vim /etc/nginx/nginx.conf #编辑配置文件

打开后我们见到如下图:

这里写图片描述

其中,红框中的配置是我们需要添加的,为了大家方便我,我复制进来:

server {

    listen 80;

    server_name 192.168.1.2;#ip地址为你的ubuntu的IP
    location / {
        proxy_pass  http://192.168.1.2:8080;#ip地址为你的ubuntu的IP
    } #将所有访问请求转发给tomcat进行处理
}

退出并且保存下,然后我们验证下配置文件正确性:

/usr/local/lib/tomcat-8$ sudo /usr/sbin/nginx -t

出现下面两行表示配置正确,可以进行下一步,不正确的请对照上面进行修改。

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

到此,我们已经完成了Nginx+Tomcat,发布项目的所有配置,
好启动Tomcat,在启动Nginx,访问路径为:IP+项目名
注意:你的web项目一定配置好了index.html或者index.jsp

贴上成功截图

这里写图片描述

=============================================================================

这时候爱思考的人就问了,我们通过IP+8080,也能访问到tomcat啊,那为什么还需要Nginx呢,其实我们需要的是Nginx的作为我们的代理,Nginx相对tomcat而言,在处理静态页面上速度很快,高并发处理也很优秀,所以需要设置Tomcat只能被指定内网IP地址访问到,所以,请各位打开tomcat下的server.xml文件(打开之前请先停止Nginx和Tomcat),进行以下编辑:

这里写图片描述

在Host之前加入红色框的一行,IP地址请给位修改成自己的内网IP,

<Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="192.168.253.131" deny=""/> 

效果:只有指定的主机或IP地址才可以访问部署在Tomcat下的应用。Tomcat提供了两个参数供你配置:RemoteHostValve 和RemoteAddrValve,前者用于限制主机名,后者用于限制IP地址。

根据主机名进行限制:(这边如果不是集群服务器,就不需要考虑这个问题)

<Valve className="org.apache.catalina.valves.RemoteHostValve" allow="52itstyle.com" deny=""/>

好配置完成后,重启Nginx和Tomcat,我们访问一下:
可以看到8080已经无法访问到我们的Tomcat了,但是通过访问80端口,可以被Nginx转到Tomcat处理,并且返回页面.

这里写图片描述

这里写图片描述

Thanks.

猜你喜欢

转载自blog.csdn.net/qq_37604508/article/details/78858857