Nginx部署指南
2018-02-25 21:14
92 查看
安装
从Nginx官网下载页面(http://nginx.org/en/download.html)下载Nginx最新版本(目前是1.5.13版本)安装包;解压后复制到部署目录。
启动和停止Nginx
Nginx目前只支持命令行操作,操作前先进入Dos命令环境,并进入Nginx部署目录。1. 启动Nginx:start nginx
2. 停止Nginx:nginx -s stop
3. 修改配置后重启:nginx -s reload
这三个命令可分别做成bat文件,放在部署目录下,方便后续操作。
start nginx.bat文件内容:start nginx
stop nginx.bat文件内容:nginx -s stop
reload nginx.bat文件内容:nginx -s reload
反向代理配置
修改部署目录下conf子目录的nginx.conf文件(如nginx-1.5.13\conf\nginx.conf)内容,可调整相关配置。反向代理配置示例:
location / { # 设置主机头和客户端真实地址,以便服务器获取客户端真实IP 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; # 设置反向代理的地址 proxy_pass http://192.168.1.1; }
代理地址根据实际情况修改。
负载均衡配置
nginx 的 upstream默认是以轮询的方式实现负载均衡,这种方式中,每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除。另外一种方式是ip_hash:每个请求按访问ip的hash结果分配,这样每个访客固定访问一个后端服务器,可以解决session的问题。
负载均衡配置示例:
upstream backend { #ip_hash; server 192.168.1.251 weight=1 max_fails=2 fail_timeout=30s; server 192.168.1.252 weight=1 max_fails=2 fail_timeout=30s; server 192.168.1.247 weight=1 max_fails=2 fail_timeout=30s; } server { listen 80; server_name trffweb; location / { #反向代理的地址 proxy_pass http://backend; } location ^~ /admin/ { # 这里注意:http://backend 与 http://backend/ 是不一样的效果。 # http://backend/ 会把实际uri映射到根目录。 # 比如:http://192.168.1.247/admin 本来想访问admin的,此时会被映射到 根目录上http://192.168.1.247 proxy_pass http://backend/; } }
upstream命名和服务器地址根据实际情况修改。
完整配置示例
nginx.conf:worker_processes 1; events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; sendfile on; keepalive_timeout 65; #连接超时时间 proxy_connect_timeout 1; #读超时时间 #proxy_read_timeout 5; #响应超时时间 #proxy_send_timeout 5; upstream backend { #ip_hash; afc9 server 192.168.1.251; server 192.168.1.252; server 192.168.1.247; } server { listen 80; server_name 2; location / { #设置主机头和客户端真实地址,以便服务器获取客户端真实IP 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; #反向代理的地址 proxy_pass http://backend; } } }
如果server 的 listen属性配置为非80默认端口,比如配置成81,需要配置proxy_set_header Host $host:81;
否则响应后的url,端81端口则消失
相关文章推荐
- Nginx + Tomcat 反向代理 负载均衡 集群 部署指南
- Nginx反向代理和负载均衡部署指南
- nginx了解(二) Nginx反向代理和负载均衡部署指南
- 5.saltstack使用指南:使用saltstack部署nginx
- Nginx反向代理和负载均衡部署指南
- Nginx反向代理和负载均衡部署指南
- [转]Nginx反向代理和负载均衡部署指南
- trac和nginx安装部署指南
- [置顶]Nginx反向代理部署指南
- Nginx反向代理和负载均衡部署指南
- Nginx反向代理和负载均衡部署指南(转)
- Nginx反向代理和负载均衡部署指南
- Nginx + JDK + Tomcat 负载均衡 集群 部署指南
- Nginx + Tomcat 反向代理 负载均衡 集群 部署指南
- 在研究院服务器部署指南(Django + uwsgi + nginx)
- Nginx + Tomcat 反向代理 负载均衡 集群 部署指南
- Nginx在Linux下的安装部署
- 阿里云上部署 django+uwsgi+nginx,admin静态文件问题
- nginx新手指南
- nginx静态资源分离部署