(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的简单配置的主要内容,如果未能解决你的问题,请参考以下文章