nginx配置文件 通过域名访问

解读Nginx配置文件,通过域名访问tomcat
第一次在linux 服务器上使用nginx 并指向tomcat 目录 通过域名 访问项目。遇到了很多坑,为了让自己更好的学习并吸收知识,特意总结了一下这次的经验。
首先我们需要了解一下nginx的组成部分,想必大家都是对他有所了解。
文件所在的路径是 /usr/local/nginx/conf 文件夹下的nginx.conf。

下面部署nginx 并使其转发到tomcat下的重点在于server这个块。

下面是location的设置

顺带提一下负载均衡

设置完配置文件下面就是运行测试了。
进入nginx 启动文件的目录 /usr/local/nginx/sbin
启动服务 ./nginx (这是在第一次启动时使用,或者进程被杀死时启动。)
重启服务 ./nginx -s reload (这是在修改了配置文件的情况下,不需要杀死进程)
如果在使用 ./nginx 命令时 linux 报错nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
证明这个80端口被nginx占用了,这个时候需要杀死进程 使用killall -9 nginx 或者使用 netstat -apn | grep 80 查询当前80端口 tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 13741/nginx: master 然后使用kill -9 13741命令杀死进程.
5.启动nginx服务器就不会报错,如果配置文件出现错误,下面会显示错误的行号。
在浏览器上输入域名,nginx自动在nginx.conf中查找 server_name 对应的域名 的server 下的location跳转到proxy_pass 这里指的的 IP和端口。我这里设置的是8081端口。

注意如果proxy_pass 配置的IP地址和域名解析的IP地址不同会出现

这个问题我是在java代码中使用ajax拦截请求后加入到请求头中解决的。

在nginx上添加下面这几段并没有实际效果。
add_header ‘Access-Control-Allow-Origin’ ‘*’;
add_header ‘Access-Control-Allow-Methods’ ‘GET, POST, OPTIONS’;
add_header ‘Access-Control-Allow-Headers’ ‘DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type’;

发表回复