Nginx基本配置和使用方法
一、 下载/安装Nginx稳定版
1、下载Nginx
访问Nginx官网,下载所需要的版本。访问下载地址http://nginx.org/。一般下载windows环境稳定版本。
image.png2、解压Nginx
解压nginx.zip,将解压后的目录移动到指定要求目录,如d:\nginx。
image.png
进入目录nginx,nginx.exe是nginx启动程序,conf是nginx相关配置文件目录,其中nginx.conf是nginx主配置文件。
image.png3、启动Nginx
双击nginx.exe启动Nginx,检查Nginx是否启动成功,查看进程,可见nginx.exe的进程,代表已成功启动。
image.png二、 配置Nginx
反向代理(Reverse Proxy)方式是指以代理服务器来接受用户的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给用户请求连接的客户端,此时代理服务器对外就表现为一个服务器。
Nginx的主要配置节为http和server。
1、http节配置
http中主要配置应用地址,一台Nginx服务器代理多个应用,只需对应的配置应用的上下文即可。例如我们系统上下文为aaa,则该系统应用部署服务器中,对应的应用程序root文件夹的名字改为aaa,用户访问时,只需在Nginx所在服务器的IP地址后加上上下文路径即可(IP/aaa)
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 300s;
server {
listen 8080;
server_name 127.0.0.1:8080; ##服务器所在ip和使用端口
location /aaa{
#proxy_set_header Host $host;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_pass http://111.11.11.111:8081/aaa;
proxy_redirect off;
}
}
2、Server节配置
在Server节中,配置对应的代理,默认无上下文的应用直接配置 location /。若是有上下文的应用,如系统(aaa),则需要配置为location /aaa。
配置文件中的listen为访问代理后的用户访问端口,默认用80端口,若不能用80端口,而是使用其他端口,则对应的Server中的配置需稍作修改,主要是修改proxy_set_header的相关内容。
(1) 默认使用80端口
proxy_set_header配置为:
proxy_set_header Host $host;
如下:
server {
listen 80;
server_name localhost;##写上自己的ip和端口
#门户网站,有门户网站就写,没有可以不写
location / {
proxy_pass http://www.baidu.com;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_buffering off;
client_max_body_size 100m;
}
#系统aaa
location /aaa{
#proxy_set_header Host $host;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://222.22.22.222:8081/ aaa;
proxy_redirect off;
proxy_buffering off;
client_max_body_size 100m
}
}
(2) 使用非默认端口(listen 81;)
配置proxy_set_header为:
proxy_set_header Host server_port;
如下:
server {
listen 81;
server_name localhost;##写上自己的ip和端口
#门户网站,有门户网站就写,没有可以不写
location / {
proxy_pass http://www.baidu.com;
proxy_set_header Host $host; $server_port;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_buffering off;
client_max_body_size 100m;
}
location /bbb{
#自定义端口
proxy_set_header Host $host;$server_port;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://222.22.22.222:8081/ bbb; ##写上自己的ip和端口
proxy_redirect off;
client_max_body_size 100m;
}
}
修改配置文件nginx.conf后,需重启nginx。
3、关闭或重启
(1)关闭
nginx -s stop 或者 nginx -s quit
stop表示立即停止nginx,不保存相关信息
quit表示正常退出nginx,并保存相关信息
(2)重启
重启(因为改变了配置,需要重启),nginx -s reload
或者直接在任务管理器中结束进程后,然后双击nginx.exe启动。