1、简介
Nginx是一个高性能的HTTP和反向代理web服务器,Nginx是一款轻量级的Web 服务器/反向代理服 务器及电子邮件(IMAP/POP3)代理服务器,在BSD-like 协议下发行。其特点是占有内存少,并发能力强。
1.1 反向代理
反向代理服务器位于用户与目标服务器之间,但是对于用户而言,反向代理服务器就相当于目标服务器,即用户直接访问反向代理服务器就可以获得目标服务器的资源。同时,用户不需要知道目标服务器的地址,也无须在用户端作任何设定。反向代理服务器通常可用来作为Web加速,即使用反向代理作为Web服务器的前置机来降低网络和服务器的负载,提高访问效率。
1.2 负载均衡
负载均衡(Load Balance)其意思就是分摊到多个操作单元上进行执行,例如Web服务器、FTP服务器、企业关键应用服务器和其它关键任务服务器等,从而共同完成工作任务。单个服务器解决不了,我们增加服务器的数量,然后将请求分发到各个服务器上面,将原先请求到单个服务器上面的情况改为将请求分发到多个服务器上,将负载分发到不同的服务器,这就是所说的负载均衡。
1.3 动静分离
为了加快网站的解析速度,可以把动态页面和静态页面由不同的服务器来解析,加快解析速度,降低单个服务器的压力。
2、安装
2.1 在线安装
2.1.1 安装所需环境
yum install -y gcc-c++
yum install -y pcre pcre-devel
yum install -y zlib zlib-devel
yum install -y openssl openssl-devel
1.gcc 可以编译 C,C++,Ada,Object C和Java等语言(安装 nginx 需要先将官网下载的源码进行编译,编译依赖 gcc 环境)
2.pcre pcre-devel pcre是一个perl库,包括perl兼容的正则表达式库,nginx的http模块使用pcre来解析正则表达式,所以需要安装pcre库
3.zlib zlib-devel zlib库提供了很多种压缩和解压缩方式nginx使用zlib对http包的内容进行gzip,所以需要安装
4.openssl openssl-devel OpenSSL 是一个强大的安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及 SSL 协议,并提供丰富的应用程序供测试或其它目的使用。
nginx 不仅支持 http 协议,还支持 https(即在ssl协议上传输http),所以需要在 Centos 安装 OpenSSL 库
2.1.2 下载nginx
下载稳定版本:nginx: download
2.1.3 解压
tar -zxvf nginx-1.22.0.tar.gz
2.1.4 配置
cd nginx-1.22.0
#使用默认配置 (默认就可以了,如果你要自己配置目录也是可以的。)
./configure
2.1.5 安装
make
make install
2.1.6 启动
whereis nginx
cd /usr/local/nginx/sbin/
#启动
./nginx
#停止
./nginx -s stop
./nginx -s quit
#重启
./nginx -s reload
2.1.7 放行80端口
firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --reload
云服务器,安全组放行80端口
2.1.8 使用systemctl管理
/usr/lib/systemd/system
touch nginx.service
[Unit]
Description=nginx
After=network.target
[Service]
Type=forking
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
PrivateTmp=true
[Install]
WantedBy=multi-user.target
systemctl daemon-reload
[Unit] :服务的说明
Description:描述服务
After :是在那个服务后面启动,一般是网络服务启动后启动
[Service] :服务运行参数的设置
Type=forking是后台运行的形式
ExecStart为服务的具体运行命令
ExecReload为重启命令
ExecStop为停止命令第三步:停止原来的Nginx,使用systemctl命令对其进行管理
PrivateTmp=True表示给服务分配独立的临时空间
注意:
[Service]的启动、重启、停止命令全部要求使用绝对路径
[Install]表示这是是安装相关信息WantedBy 是以哪种方式启动:
multi-user.target 表明当系统以多用户方式(默认的运行级别)启动时,这个服务需要被自动运行。
2.2 离线安装
安装gcc、gcc-c++、pcre、zlib、openssl,执行步骤2.1.2-2.1.8
3、脚本命令安装
完整安装包文件下载地址:https://download.csdn.net/download/z17806289513/88140247
将下载好的安装包上传到服务器,解压缩
unzip nginx.zip
进入nginx文件夹,执行install.sh安装脚本即可完成安装。
sh install.sh
启动nginx
systemctl start nginx
4、成功页面