阿里运程服务器 tomcat和nginx整合
服务器下安装nginx
sudo apt-get install nginx
nginx的文件配置
- 服务地址:/etc/init.d/nginx
- 配置地址:/etc/nginx/ 如:/etc/nginx/nginx.conf
- Web默认目录:/usr/share/nginx/http/ 如:usr/share/nginx/html/index.html
- 日志目录:/var/log/nginx/ 如:/var/log/nginx/access.log
- 主程序文件:/usr/sbin/nginx
从nginx.conf的Virtual Host Configs可知,主机配置文件所在处
## # Virtual Host Configs ## include /etc/nginx/conf.d/*.conf; include /etc/nginx/sites-enabled/*;
/etc/nginx/conf.d/*.conf一般用来保存自定义配置文件。如多个虚拟主机时,可将配置文件拆分,保存到该目录,方便管理。
/etc/nginx/sites-enabled/*保存了指向/etc/nginx/sites-available的链接文件
要自己配置反向代理,有两种方式可选,一是编辑/etc/nginx/sites-available/default,二是在conf.d目录下新建conf文件
配置反向代理
1.配置tomcat跳转
在conf.d文件下新建conf文件,我这里是demo.conf。nginx运行时会自动读取conf.d目录下的conf文件。
#demo.conf内容
server {
listen 7000;
server_name localhost;
location /{
proxy_pass http://localhost:8080;
}
}
2.开放端口号供访问
如果不开放服务器端口的话,是无法通过服务器端口访问对应的服务的。开放端口需要两步
1启动防火墙,配置端口
2阿里云服务器配置安全组规则
具体参考文章如👉 阿里云服务器Tomcat启动后 外网无法连接
3.访问
修改完Nginx的配置后不需要重启Nginx,输入如下命令即可
service nginx reload
通过proxy_pass配置请求转发地址。即当访问localhost的7000端口时,请求会跳转至localhost的8080端口处
在浏览器输入在浏览器输入 公网ip:端口号
4.进一步使用
(1)静态资源分离
下面路径默认是webapps的ROOT文件夹下。如果访问webapps下非ROOT文件夹下的资源,则会报错。
#demo.conf
server { listen 7000; server_name localhost; location ~ \.jsp$ { proxy_pass http://localhost:8080; } location ~ \.(html|js|css|png|gif)$ { root /opt/apache-tomcat-9.0.41/webapps; } }
(2)负载均衡