侧边栏壁纸
博主头像
DJ's Blog博主等级

行动起来,活在当下

  • 累计撰写 133 篇文章
  • 累计创建 51 个标签
  • 累计收到 0 条评论

目 录CONTENT

文章目录

【Nginx】安装和配置

Administrator
2022-04-03 / 0 评论 / 0 点赞 / 74 阅读 / 6040 字

【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
0

评论区