一.安装NGINX(以Ubuntu系统为例)
Ubuntu安装NGINX直接使用apt-get的方式安装比较方便下面是安装步骤:
# 切换至root用户
Ubuntu@Ubuntu-virtual-machine:~$ su root passwd:输入你的root密码 root@Ubuntu-virtual-machine:~#
# 使用apt-get直接安装nginx
root@Ubuntu-virtual-machine:~# apt-get install nginx
# 查看nginx是否安装成功
root@Ubuntu-virtual-machine:~# nginx -v nginx version: nginx/1.18.0 (Ubuntu)
# 启动服务
root@Ubuntu-virtual-machine:~# service nginx restart
二.使用NGINX搭建静态网站
# 使用vim编辑器编辑NGINX的配置文件nginx.conf
root@Ubuntu-virtual-machine:~# vim /etc/nginx/nginx.conf
#在 http 部分添加以下代码: server { listen 80; server_name www.demo1.com; root /var/www/web; index index.html; }
# 测试配置文件是否正确,可以使用以下命令:
root@Ubuntu-virtual-machine:~# nginx -t #以下代表正确 nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful
# 重启NGINX:
root@Ubuntu-virtual-machine:~# service nginx restart
三.配置NGINX的反向代理
要配置NGINX的反向代理就需要准备多个服务器环境,这里我搭建了三个虚拟机环境分别使用的Redhat,kali,以及Ubuntu,其中Ubuntu为代理服务器,Redhat和kali为网站服务器
1. 配置安装nginx其中kali和Ubuntu可以使用apt-get的方式安装之前有说明,而Redhat可以使用yum来进行安装配置命令如下:
[root@server ~]# yum install nginx
2.参考(使用NGINX搭建静态网站)为Redhat和kali服务器分别搭建一个静态网站用来测试
3.使用vim编辑器编辑NGINX的配置文件default
root@Ubuntu-virtual-machine:~# vim /etc/nginx/sites-available/default
在server代码块前添加: upstream nginx_demo{ # 30s内检查心跳发送两次包,未回复就代表该机器宕机,请求分发权重比为1:2 server 192.168.163.135 weight=100 max_fails=2 fail_timeout=30s; server 192.168.163.132 weight=200 max_fails=2 fail_timeout=30s; # 这里的IP请配置成你WEB服务所在的机器IP } 在server代码块内部添加: location / { index index.html index.htm index.jsp; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; # 请求交给名为nginx_demo的upstream上 proxy_pass http://nginx_demo; # First attempt to serve request as file, then # as directory, then fall back to displaying a 404. try_files $uri $uri/ =404; }
# 重启NGINX:
root@Ubuntu-virtual-machine:~# service nginx restart
最终效果:
两个网站之间点击两次刷新后跳转到另一个界面再次点击一次跳转回去,说明请求分发权重比为1:2生效同时访问Ubuntu服务器的IP地址会出现其他服务器的网页说明NGINX的反向代理生效