(Ubuntu)Nginx+Tomcat的简单配置

Posted 书呢

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了(Ubuntu)Nginx+Tomcat的简单配置相关的知识,希望对你有一定的参考价值。

声明:如有技术性错误,欢迎指正。Tomcat的安装不作介绍。

nginx的反向代理流程,用户向一台服务器的80端口发送了请求,该请求首先由Nginx监听到,其接受到请求内容后再转发给Tomcat,Tomcat处理完后再将结果传送给Nginx,最后由Nginx来统一返回给初始请求端。

Nginx的安装

  • gcc gcc++依赖库的安装    

apt-get install build-essential
apt-get install libtool

  • prec依赖库的安装    

apt-get update
apt-get install libpcre3 libpcre3-dev

  • zlib依赖库的安装    

apt-get install zlib1g-dev-

  • ssl依赖库的安装    

apt-get install openssl

  • nginx的安装    

apt-get install nginx

如果安装过程出现如下错误,因为在安装Nginx之前启动了Tomcat,而且把Tomcat的端口号设置为了80,导致Nginx和Tomcat的端口号冲突,然后我shutdown了Tomcat后,重启了Nginx,没有报错,启动成功。

Job for nginx.service failed because the control process exited with error code. See “systemctl status nginx.service” and “journalctl -xe” for details.

  • Ubuntu中Nginx的文件和文件结构      

配置文件:/etc/nginx/nginx.conf
nginx.conf关联的配置文件路径:/etc/nginx/conf.d(这个路径可以在nginx.conf中看到)
Nginx的程序文件:/usr/sbin/nginx(可以直接运行启动)
启动脚本:/etc/init.d/nginx(直接运行启动)

日志路径:/var/log/nginx

  • Nginx相关常用命令    

启动Nginx:/etc/init.d/nginx
停止Nginx:nginx -s stop
重启Nginx:nginx -s reload
更新配置文件:nginx -c /etc/nginx/nginx.conf
检查配置文件是否正取:nginx -t
查看nginx版本:nginx -v

Nginx和Tomcat的配置

说明:由于上述的80端口冲突的原因,我又将Tomcat原本的端口改到8080。因此下面的配置中我会使用到8080端口进行配置。

在nginx.conf中的http中添加如下参数:

server {        
    #监听80端口,可以改成其他端口        
    listen 80;        
    #当前服务的域名或者IP地址        
    server_name example.com;        
    location / {            
        #转发地址            
        proxy_pass http://127.0.0.1:8080/;        
    }        
}

其实,可以在nginx.conf中的http里面有include /etc/nginx/conf.d/*.conf;可以在conf.d目录下建一个tomcat-proxy.conf的配置文件,然后把上述的server写到这个配置文件里。

反向代理,即让Nginx进行转发的这一部分完成了,但实际过程中,我们会让Nginx来提供所有的静态内容,即按照文件类型进行过滤,由于Nginx不是servlet容器,所以需要将jsp提供给Tomcat进行处理,而静态文件,如html、css、js、jpg、jpeg、png、gif、ico等文件由Nginx处理。

示例配置如下,可根据情况修改

server {                
    listen 80;        
    server_name example.com;

    location ~ \.jsp$ {            
        proxy_pass http://127.0.0.1:8080;        
    }         

    location ~* \.(html|css|js|jpg|jpeg|png|gif|ico)$ {    
        #指向Tomcat静态资源文件的地址        
        root /usr/tomcat/tomcat8/webapps/ROOT;    
    }    
}

其他说明

如果在配置完nginx.conf后,执行nginx -t成功,但是执行nginx -s reload或者nginx -s stop出现如下错误

nginx: [error] invalid PID number “” in “/run/nginx.pid”

原因可能是,nginx.conf中配置文件有错误导致的,可以尝试删除了你刚才添加的配置的文件,然后更新配置文件(nginx -c /etc/niginx/nginx.conf),重新执行上述的两个命令。


点击阅读原文查看更多

以上是关于(Ubuntu)Nginx+Tomcat的简单配置的主要内容,如果未能解决你的问题,请参考以下文章

Nginx+Tomcat简单集群

Nginx + Tomcat 配置负载均衡集群简单实例

Nginx简单配置及测试

nginx+tomcat简单反向代理+nginx监控

apt-get安装tomcat并测试nginx负载均衡

Nginx + Tomcat 配置负载均衡集群