我的nginx和tomcat在同一台服务器上
我nginx安装的位置(因为我安装时使用的是./configure --prefix=/usr/etc/nginx)是/usr/etc/nginx,进入安装该文件夹
编辑conf文件夹下的nginx.conf,在末尾增加
location ~ \.jsp$ {
index index.jsp; proxy_pass http://localhost:8080; #这条语句是关键,把所有jsp页面的请求跳转到localhost:8080交给tomcat处理,把localhost换成其它ip也可以 proxy_redirect off; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; client_max_body_size 10m; client_body_buffer_size 128k; proxy_connect_timeout 90; proxy_read_timeout 90; proxy_buffer_size 4k; proxy_buffers 6 32k; proxy_busy_buffers_size 64k; proxy_temp_file_write_size 64k; }location ~ \.(html|js|css|gif|jpg|png|bmp|swf)$ { #这里也需要注意一下,这里把html等静态文件定位到tomcat的网站目录下,所以访问80端口提示找不到页面,所以我们可以在这个tomcat目录下新建一个html文件,然后再访问80端口,就会显示新建立的文件了
expires 30d;root /usr/local/tomcat/webapps/ROOT;}
看一下我反向代理设置,以下代码配置在nginx.conf中,放在http{}里面就行了
server { listen 8000; #随便设置一个未被占用的端口,建议端口号大于1024 location / { proxy_pass http://172.16.1.110:8080; #代理哪个就写哪个,我这里是反向代理到172.16.1.110:8080上,在这台服务器上我已经安装好了tomcat,默认端口为8080,http://貌似不能省略 index index.jsp index.html index.htm; #最好也写一下这个,这个是默认主页的文件名 } }
我的nginx服务器是172.16.1.54,现在我们从8000端口访问,I'm 110是172.16.1.110tomcat的默认页内容