Nginx介绍:
Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,其特点是占有内存少,高并发、高性能、可扩展性好、高可靠性、热部署等特点。
反向代理:
反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个反向代理服务器。
反向代理,就是代理服务器代理了目标服务器,去和客户端进行交互。
正向代理:
是一个位于客户端和原始服务器(server)之间的服务器,为了从原始服务器取得内容,客户端向代理发送一个请求并指定目标(原始服务器),然后代理向原始服务器转交请求并将获得的内容返回给客户端。客户端才能使用正向代理。
1.部署Nginx
sudo apt-get update
sudo apt install nginx
sudo systemctl status nginx
sudo ufw allow 'Nginx Full'
sudo ufw status
这是直接默认安装,也可选择源码编译安装,注意在安装后确认Nginx已经启动后,一定要在防火墙放行,也可以直接关闭防火墙(sudo systemctl stop ufw)。
这时就可以在浏览器输入ip可以看到这个界面就说明Nginx已经成功运行。
nginx常用命令
nginx -s reload 修改配置后重新加载生效
nginx -s stop 快速停止nginx
nginx -s start 启动nginx
nginx -s quit 完整有序的停止nginx
nginx -v 查看nginx的版本
nginx -V 查看版本和nginx的配置选项
nginx -t -c /path/to/nginx.conf 测试nginx配置文件是否正确
nginx -s reopen 重新打开日志文件
2.启动两台虚拟主机,分别运行一个大体相同的简单网页用来判断是否有搭建成功。此处省略。
3.修改配置文件
进入 /etc/nginx/sites-available/ ,打开default文件修改以下内容:
upstream nginx_web{
# 30s内检查心跳发送两次包,未回复就代表该机器宕机,请求分发权重比为1:2
server 192.168.74.135 weight=100 max_fails=2 fail_timeout=30s;
server 192.168.74.1 weight=200 max_fails=2 fail_timeout=30s;
# 这里的IP请配置成你WEB服务所在的机器IP
}
server {
location / {
# 配置一下index的地址,最后加上index.ftl。
index index.html index.htm index.jsp index.ftl;
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_boot的upstream上
proxy_pass http://nginx_web;
}
}
重新加载配置文件:nginx -s reload
4.在浏览器输入ip可以看到出现两个界面