【Nginx】安装和配置
安装
- 安装前置依赖
yum install -y gcc pcre pcre-devel openssl openssl-devel gd gd-devel
- 解压缩安装包
cd /opt
tar -zxvf nginx-1.18.0.tar.gz
- 进入目录
cd nginx-1.18.0
- 执行编译
./configure --prefix=/usr/local/nginx
- 编译成功执行安装
make && make install
- 查询是否安装成功
/usr/local/nginx/sbin/nginx -t
当出现以下信息表示安装成功
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
- 指定nginx配置文件,启动nginx
/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
- 在浏览器访问机器IP,如果出现以下页面,表示nginx启动成功
- 重启nginx
/usr/local/nginx/sbin/nginx -s reload
- 停止nginx
/usr/local/nginx/sbin/nginx -s stop
- 新建nginx.service文件
vim /lib/systemd/system/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
- 使用nginx.service文件启动nginx
systemctl start nginx
- 查看nginx启动状态
systemctl status nginx
配置
SSL证书
- 重新添加SSL模块
cd /opt/nginx-1.18.0/
./configure --prefix=/usr/local/nginx --with-http_ssl_module
- 执行make命令
make
不要执行make install,因为make是用来编译的,而make install是安装,不然你整个nginx会重新覆盖的
- 替换nginx
在我们执行完做命令后,我们可以查看到在nginx解压目录下,objs
文件夹中多了一个nginx的文件,这个就是新版本的程序了。首先我们把之前的nginx先备份一下,然后把新的程序复制过去覆盖之前的即可。
mv /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.bak
cp objs/nginx /usr/local/nginx/sbin/nginx
- 验证是否安装成功
/usr/local/nginx/sbin/nginx -V
nginx version: nginx/1.18.0
built by gcc 4.8.5 20150623 (Red Hat 4.8.5-39) (GCC)
built with OpenSSL 1.0.2k-fips 26 Jan 2017
TLS SNI support enabled
configure arguments: --prefix=/usr/local/nginx --with-http_ssl_module
添加fair模块
- 下载fair模块
mkdir /usr/local/nginx/modules
cd /usr/local/nginx/modules
wget https://files.cnblogs.com/files/ztlsir/nginx-upstream-fair-master.zip
unzip nginx-upstream-fair-master.zip
- 备份nginx启动文件
cp /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.bak_20210116
- 在nginx原解压根目录下添加fair模块
cd /opt/nginx-1.18.0/
./configure --prefix=/usr/local/nginx --with-http_ssl_module --add-module=/usr/local/nginx/modules/nginx-upstream-fair-master
- 执行make命令
make
- 检查是否安装成功
cd /opt/nginx-1.18.0/objs/
./nginx -V
nginx version: nginx/1.18.0
built by gcc 4.8.5 20150623 (Red Hat 4.8.5-44) (GCC)
built with OpenSSL 1.0.2k-fips 26 Jan 2017
TLS SNI support enabled
configure arguments: --prefix=/usr/local/nginx --with-http_ssl_module
- 复制objs目录下的nginx文件到sbin目录,覆盖原文件
cp -rf /opt/nginx-1.18.0/objs/nginx /usr/local/nginx/sbin/
- 重启nginx
systemctl restart nginx
- fair模块配置
upstream ecif {
fair;
server 192.168.44.1:12673;
server 192.168.44.1:12674;
server 192.168.44.1:12675;
}
http访问自动跳转到https
- 修改nginx配置文件
server {
listen 80;
server_name www.域名.com;
rewrite ^(.*) https://$server_name$1 permanent;
}
server {
listen 443;
server_name www.域名.com;
root /home/www;
ssl on;
ssl_certificate /etc/nginx/certs/server.crt;
ssl_certificate_key /etc/nginx/certs/server.key;
}
- 修改配置文件后,重启nginx
systemctl restart nginx
评论区