Nginx
一 Nginx 安装
下载Linux版本的Nginx压缩包,上传Nginx压缩包并解压 tar zxvf nginx-1.6.2.tar.gz
进入Nginx文件夹
依次操作:
- ./configure
- make
- make install
可能会遇到的问题:
- c compiler cc is not found 缺少一个c++库
解决:在root用户下,进入根目录
yum -y install gcc gcc-c++ autoconf automake
- the http rewrite module requires the PCRE library
解决:在root用户下,yum -y install pcre pcre-devel
- the http gzip module requires the zlib library
解决:Yum -y install zlib zlib-level
二 Nginx的启动与停止
- 启动
可执行文件地址 -c 配置文件地址
或者进入 /usr/local/nginx/后 ./nginx
- 停止
从容停止 ps -ef|grep nginx kill -QUIT 进程号
快速停止 kill -TERM 进程号 kill -INT 进程号
强制停止 pkill -9 nginx
./nginx -s stop
- 重启
方法一:进入可执行文件文件夹之后
- 先验证配置文件是否正确,进入可执行文件目录 ./nginx -t
- 重启 ./nginx -s reload
方法二:
先查出进程号 ps -ef|grep nginx , 在执行 kill -HUP 进程号
三 Nginx 配置文件解析
-
- 结构
一个http模块中可以有多个server,一个server中可以有多个location
-
- 映射逻辑
通过监听端口,收集发送过来的请求,Server_name 根据 location 后的匹配路径(其实就是项目访问路径) 来转到 代理的路径proxy_pass ,如果proxy_pass 是一个服务集群,则需要配置upstream
三 Nginx 做代理服务器
在server模块中
- 在listen 和 server_name 中分别配置 要监听的端口和ip或域名
- 在location后面配置要匹配的路径,即要访问的项目路径
- 在proxy_pass中配置要跳转的路径
四 Nginx 配置负载均衡--反向代理
说完上面映射逻辑和结构后,这边就比较简单了。主要的改动就是proxy_pass 后面的由一个upstream模块来代替。Upstream中配置几个节点的ip和端口。下面给一个简单的案例:
server {
listen 监听的端口;
server_name 监听的ip地址;
location /项目名称{
proxy_pass http://负载均衡名称(自定义);
proxy_set_header Host $host:$server_port;
proxy_redirect off;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_connect_timeout 60;
proxy_read_timeout 600;
proxy_send_timeout 600;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
upstream 负载均衡名称(自定义) {
server ip1:port1;
server ip2:port2;
}