阿里云服务器windows server2008r2+tomcat8.0+nginx1.12
弄了两天的nginx,从了解开始,可能是我理解能力太差了,惭愧惭愧!但是还好看了一些大神的文章总算有点眉目了,此篇用来当作自己的笔记,大家看不懂,勿喷,但是如果有问题,直接回复,我可以给你解答一下,前提是如果我懂的话,嘻嘻。
前提条件:服务器要能够访问80端口,服务器上安装tomcat8.0并能成功运行。
在使用中,发现重启服务器,系统就占用了80端口,以致于nginx启动报错:bind() to 0.0.0.0:80 failed (10013: An attempt was made to access a socket in a way forbidden by its access permissions) 。
可以通过netstat -aon | findstr :80 命令查看80端口被谁占用,如果是system占用,通过以下步骤解决:
一、安装nginx,下载地址:http://nginx.org/ ;
直接解压就可以了,这里解压到E盘根目录:E:\nginx;
命令行(win+r 输入cmd)切换到该目录下:cd E:\nginx,输入start nginx.exe 窗口闪一下,一般就启动成功了,去任务管理器查看一下是不是有两个nginx的进程运 行,有就成功了。浏览器输入http://localhost会出来NGINX的欢迎界面;
二、配置动静态分离和反向代理:
在nginx安装路径下的conf文件夹下面新建几个文件(新建了复制代码进去就好,主要是我也不知道啥意思):
tips:文件中的内容复制过去后要把中文注释删掉,不然可能出现编码问题,实在不行就不要复制了,勤快点,手敲嘛。
Gzip.conf:
gzip on; gzip_min_length 1000; gzip_types text/plain text/css application/x-javascript;
Proxy.conf(这个文件好像目前没用到的,可以不用新建):
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 300; proxy_send_timeout 300; proxy_read_timeout 300; proxy_buffer_size 4k; proxy_buffers 4 32k; proxy_busy_buffers_size 64k; proxy_temp_file_write_size 64k; gzip on; gzip_min_length 1000; gzip_types text/plain text/css application/x-javascript; Proxy.conf
修改nginx.conf文件:
worker_processes 1; events { worker_connections 1024; } http { charset utf-8;#设置编码 include gzip.conf;#include表示引用文件 include mime.types; upstream localhost { server localhost:8080; #配置tomcat地址,即需要nginx转向的地址 } server { listen 80; #表示监听80端口,配合上面的tomcat地址使用,访问80端口,就会转向localhost:8080 server_name localhost; #设定访问静态文件直接读取不经过tomcat location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|html)$ { root E:\static;#静态文件(gig|jpg|jpeg|png|bmp|swf|html)的存放地址 expires 30d;#设置缓存为30天 } location ~ .*\.(js|css)?$ { root E:\static;#静态文件(js|css)的存放地址 expires 1h;#设置缓存为1小时 }
location = / {#设置首页(直接访问服务器ip或域名就可以访问E:\static目录下的index.html,如果是其他名字需要其它设置,这里没做深究,用到了再来)
root E:\static;
}
location / { proxy_connect_timeout 3; #连接超时时间 proxy_send_timeout 30; #发送超时时间 proxy_read_timeout 30; #访问8080超时时间 proxy_pass http://localhost; #引用前面upstream的名字
}
}
}
现在可以去E盘的static文件夹下面新建一个html页面测试是不是能够访问了(修改了配置文件需要重新加载配置文件或重启nginx),如:http://ip地址/index.html
三、常用命令(切换到nginx安装目录来执行):
start nginx.exe :启动nginx
nginx.exe -s stop :停止nginx
nginx.exe -s reload : 配置文件修改,重新加载配置文件
nginx -t :查看nginx是否启动成功
nginx -v :查看nginx版本