这里没有安装Nginx的朋友请移步: http://blog.csdn.net/qq_27292113/article/details/78189500
1、nginx 配置请求转发
找到自己安装目录下的 nginx.conf 文件
找到
server {
listen 80;
server_name localhost;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
root html;
index index.html index.htm;
}
这个是原有的改为:
server
{
listen 80;
server_name www.baidu.com;
access_log logs/www_baidu_access.log main;
error_log logs/www_baidu_error.log;
location / {
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;
proxy_pass http://127.0.0.1:8081;
#access_log logs/www_baidu_access.log;
}
}
server_name 是访问的域名 我这里以百度为例子
access_log,error_log 后面是配置的日志存放位置
proxy_pass 后面配置你需要转发的IP地址 http://127.0.0.1:8081;
这里两个注意点:1、每个配置写完换行的时候 “;”结束。
2、server_name 后面的域名要配置解析到该服务器不然无法使用。
上面配置完成后,访问www.baidu.com时实际上被转到了 proxy_pass 配置的ip服务器上去了。
静态页码转发:
server
{
listen 80;
server_name www.fu1017hao.top;
location /{
root /var/www/html ; #[静态页面所在服务器目录]
index calendar.htm; # 访问文件名
}
}
Nginx可以直接访问html等页面。
2、nginx 配置简单负载均衡
upstream api.baidu.com {
server 127.0.0.3:8080;
server 127.0.0.2.81:8888;
}
server{
listen 80;
server_name api.baidu.com;
location / {
proxy_pass http://api.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;
}
upstream 配置负载的域名
每一个server 都是一个独立的服务,(可以是两台服务器,也可以部署在一个服务器上设置不同端口)
server 目标服务器的ip地址
相对请求转发要少配置一个proxy_pass的参数。
改完Nginx.conf 文件后要重启nginx服务器
(首次启动需:/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf)
(Nginx启动的情况下重启使用这个命令) /usr/local/nginx/sbin/nginx -s reload