nginx简单安装
(1)直接打开官网下载
官网地址:https://nginx.org/en/download.html
(2)进入官网查找需要下载版本的链接地址,然后用wget命令进行下载
wget https://nginx.org/download/nginx-1.20.2.tar.gz
(3)解压缩
tar -zxvf nginx-1.20.2.tar.gz
解压完可以看到里面的目录
(4)配置
./configure
如果执行报错:
【./configure: error: the HTTP rewrite module requires the PCRE library.
】
这是缺少依赖包,我们将所有需要的依赖报都安装下
依赖命令
yum -y install gcc zlib zlib-devel pcre-devel openssl openssl-devel
执行完命令后再次执行下发现没有报错提示了
(5)编译和安装
make && make install
(6)开机启动
步骤1:先创建个service
vi /usr/lib/systemd/system/nginx.service
步骤2:写入以下命令
[Unit]
Description=nginx - web server
After=network.target remote-fs.target nss-lookup.target
[Service]
Type=forking
PIDFile=/usr/local/nginx/logs/nginx.pid
ExecStartPre=/usr/local/nginx/sbin/nginx -t -c /usr/local/nginx/conf/nginx.conf
ExecStart=/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
ExecReload=/usr/local/nginx/sbin/nginx -s reload
ExecStop=/usr/local/nginx/sbin/nginx -s stop
ExecQuit=/usr/local/nginx/sbin/nginx -s quit
PrivateTmp=true
[Install]
WantedBy=multi-user.target
这里请注意,如果你想粘贴到命令窗,记得先输入i 并且鼠标右键进行粘贴,不要直接ctrl + v这样可能会导致命令不去不全
步骤3:我们先查找下nginx服务状态
ps -ef | grep nginx
步骤4:重新加载服务
systemctl daemon-reload
步骤5:启动服务
systemctl start nginx.service
开机启动
systemctl enable nginx.service
重启
reboot
到这里开机启动就完成了,我们重启下linux,然后看下效果
发现已经开机启动了,我们再访问下网页看看nginx服务
nginx默认是80端口,如果你不想要80端口可以去更改,同事记得加上端口防火墙权限
端口防火墙命令
firewall-cmd --zone=public --add-port=80/tcp --permanent
service firewalld restart
反向代理
反向代理服务器位于用户与目标服务器之间,但是对于用户而言,反向代理服务器就相当于目标服务器,即用户直接访问反向代理服务器就可以获得目标服务器的资源。同时,用户不需要知道目标服务器的地址,也无须在用户端作任何设定。反向代理服务器通常可用来作为Web加速,即使用反向代理作为Web服务器的前置机来降低网络和服务器的负载,提高访问效率。
反向代理配置
查看nginx安装的路径:
whereis nginx
发现nginx的服务目录是:/usr/local/nginx/
修改下面的conf配置文件conf/nginx.conf
需要加上:proxy_pass http://ip:port
修改了conf配置文件记得要重新加载才会生效
cd /usr/local/nginx/sbin/
./nginx -s reload
我们预想是:当访问nginx服务器ip和端口会转发到我们指定的服务器地址;查看效果:
访问http://192.168.1.180:80/email他就默认跳转到http://192.168.1.117:8777去了
负载均衡
负载均衡,英文名称为Load Balance,其意思就是分摊到多个操作单元上进行执行,例如Web服务器、FTP服务器、企业关键应用服务器和其它关键任务服务器等,从而共同完成工作任务。
需求:
nginx作为负载均衡服务器,请求请求先到达nginx,再由nginx根据负载配置将请求转发到tomcat服务器;
我们的tomcat有两组:
tomcat1: 192.168.1.117:8777
tomcat2: 192.168.1.102: 80
我们来配置下nginx
首先要配置的就是增加一个upstream 给他取个名,我这就叫xianvServer,里面的内容为:两台tomcat服务的ip和端口;改完之后,我们在location处略微修改,上面反向代理我们是直接写死了ip和端口,这里我们这ip和端口换成了刚创建的xianvServer
为了更好的看到运行效果,我们在网页端加上各自的ip;
修改完记得重新启动下nginx生效
现在来访问下:http://192.168.1.180/email看看效果
我们发现117和102都是顺序访问的,这是因为没有设置权重的话,默认都是比率分配访问
我们将两个服务117设置权重为2,102设置权重为1再看看效果
这时候我们刷新会发现,117的次数明显比102多,大约是2倍;
好了到此简单的负载均衡就配置完成了,赶紧对着上手吧