nginx实现反向代理的流程
安装和启动nginx
-
在虚拟机上新增用户,并设置密码
$ useradd leyou $ passwd leyou
-
将nginx-1.16.1.tar.gz 上传到leyou 用户目录下
-
解压nginx-1.16.1.tar
$ tar -xvf nginx-1.16.1.tar.gz
-
配置
[root@localhost nginx-1.16.1]# ./configure --prefix=/opt/nginx --sbin-path=/usr/bin/nginx
-
安装
[root@localhost nginx-1.16.1]# make && make install
-
启动nginx
[root@localhost nginx-1.16.1]# nginx
-
查看是否启动
[root@localhost nginx-1.16.1]# ps -ef | grep nginx root 11643 1 0 04:56 ? 00:00:00 nginx: master process nginx nobody 11644 11643 0 04:56 ? 00:00:00 nginx: worker process root 11646 6543 4 04:57 pts/1 00:00:00 grep nginx
master进程是主进程,起到监控和管理的作用
worker是工作进程,处理用户请求
-
关闭防火墙
临时关闭
$ service iptables stop
或者(需要重启)
$ chkconfig iptables off
-
测试
在浏览器输入虚拟机的ip地址,出现下面的页面表示nginx启动成功
nginx 的常用命令
- 启动:
nginx
- 停止:
nginx -s stop
- 重新加载:
nginx -s reload
nginx 欢迎页面所在目录:/opt/nginx/html
修改配置文件实现反向代理
在/opt/nginx/conf/目录下修改nginx.conf,添加以下两个server
server {
listen 80;
server_name manage.leyou.com;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Server $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
location / {
proxy_pass http://192.168.42.116:9001;
proxy_connect_timeout 600;
proxy_read_timeout 600;
}
}
server {
listen 80;
server_name api.leyou.com;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Server $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
location / {
proxy_pass http://192.168.42.116:10010;
proxy_connect_timeout 600;
proxy_read_timeout 600;
}
}
linux重新读取配置文件
[root@localhost nginx-1.16.1]# nginx -s reload
访问测试