【彻底卸载nginx并部署nginx1.22.1+ssl模块等】

文章目录

  • 前言
  • 一、检查Nginx
    • [1.1 查看是否安装ssl模块](#1.1 查看是否安装ssl模块)
  • 二、彻底卸载Nginx
    • [2.1 查看Nginx进程](#2.1 查看Nginx进程)
    • [2.2 关闭Nginx服务](#2.2 关闭Nginx服务)
    • [2.3 查找Nginx安装目录](#2.3 查找Nginx安装目录)
    • [2.4 彻底删除Nginx配置文件](#2.4 彻底删除Nginx配置文件)
    • [2.5 若之前Nginx设置开机自启,按下面方法删除](#2.5 若之前Nginx设置开机自启,按下面方法删除)
    • [2.6 使用yum方法彻底删除Nginx](#2.6 使用yum方法彻底删除Nginx)
  • 三、部署Nginx1.22.1并配置ssl模块
    • [3.1 下载Nginx安装包](#3.1 下载Nginx安装包)
    • [3.2 解压安装包](#3.2 解压安装包)
    • [3.3 安装相关依赖](#3.3 安装相关依赖)
    • [3.4 配置相关模块](#3.4 配置相关模块)
    • [3.5 编译安装](#3.5 编译安装)
    • [3.6 添加环境变量](#3.6 添加环境变量)
    • [3.7 查看Nginx版本](#3.7 查看Nginx版本)
    • [3.8 添加nginx用户](#3.8 添加nginx用户)
    • [3.9 配置Nginx服务](#3.9 配置Nginx服务)
    • [3.10 启动Nginx服务](#3.10 启动Nginx服务)

前言

我之前部署的Nginx没有安装ssl,在网上试了很多方法,一直安装不了,索性直接卸载干净,从新安装版本高一点的Nginx并配置ssl模块等。


提示:以下是本篇文章正文内容,下面案例可供参考

一、检查Nginx

1.1 查看是否安装ssl模块

在nginx的安装目录下的/usr/local/nginx/sbin/nginx -V命令,注意是大写V,查看配置是否包含"-with-http_ssl_module",包含则表示已经配置好SSL,如果不含,需要安装SSL模块。

c 复制代码
/usr/local/nginx/sbin/nginx -V

configure arguments后面为空的,没有ssl模块

二、彻底卸载Nginx

2.1 查看Nginx进程

C 复制代码
ps -ef | grep nginx

2.2 关闭Nginx服务

C 复制代码
/usr/local/nginx/sbin/nginx -s stop

2.3 查找Nginx安装目录

C 复制代码
find  /  -name nginx 

2.4 彻底删除Nginx配置文件

C 复制代码
rm-rf/usr/local/nginx
rm-rf/usr/local/nginx/sbin/nginx
rm-rf/usr/src/nginx-1.12.2/objs/nginx

2.5 若之前Nginx设置开机自启,按下面方法删除

C 复制代码
chkconfig nginx off
rm -rf /etc/init.d/nginx

2.6 使用yum方法彻底删除Nginx

C 复制代码
yum remove nginx

三、部署Nginx1.22.1并配置ssl模块

3.1 下载Nginx安装包

代码如下(示例):

c 复制代码
#创建文件
mkdir -p /home/app
#进入文件
cd /home/app
#使用wget下载安装包
wget https://nginx.org/download/nginx-1.22.1.tar.gz

3.2 解压安装包

代码如下(示例):

c 复制代码
tar -zxvf  nginx-1.22.1.tar.gz 

3.3 安装相关依赖

代码如下(示例):

c 复制代码
yum -y install openssl openssl-devel make zlib zlib-devel gcc gcc-c++ libtool pcre pcre-devel pam pam-devel

3.4 配置相关模块

代码如下(示例):

JavaScript 复制代码
#进入nginx文件
cd /home/app/nginx-1.22.1
#添加相关模块
./configure \
--prefix=/usr/local/nginx \
--user=nginx --group=nginx \
--with-http_ssl_module \
--with-http_v2_module \
--with-http_realip_module \
--with-http_stub_status_module \
--with-http_gzip_static_module \
--with-pcre \
--with-stream \
--with-stream_ssl_module \
--with-stream_realip_module

编译成功后目录下生成了objs这个目录

3.5 编译安装

代码如下(示例):

c 复制代码
make && make install

3.6 添加环境变量

代码如下(示例):

c 复制代码
#添加环境变量
echo 'export PATH=$PATH:/usr/local/nginx/sbin/' >> /etc/profile
#生效
source /etc/profile

3.7 查看Nginx版本

代码如下(示例):

c 复制代码
/usr/local/nginx/sbin/nginx -V

3.8 添加nginx用户

代码如下(示例):

c 复制代码
#进入文件
cd /usr/local/nginx
#添加nginx用户
useradd nginx  -s /sbin/nologin

3.9 配置Nginx服务

代码如下(示例):

c 复制代码
cat > /lib/systemd/system/nginx.service << EOF
[Unit]
Description="nginx service"
After=network-online.target

[Service]
Type=forking
WorkingDirectory=/usr/local/nginx/sbin
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/usr/local/nginx/sbin/nginx -s reload
ExecStop=/usr/local/nginx/sbin/nginx -s stop
Restart=always
RestartSec=3s
LimitNOFILE=204800

[Install]
WantedBy=multi-user.target
EOF

配置文件解析

c 复制代码
Description:										描述服务
After=network.target:								表示服务在网络可用后启动。
[Service]											服务运行参数的设置
Type=forking										是后台运行的形式
ExecStart=/usr/local/nginx/sbin/nginx 				为服务的具体运行命令
ExecReload=/usr/local/nginx/sbin/nginx -s reload 	为重启命令
ExecStop=/usr/local/nginx/sbin/nginx -s stop 		为停止命令
Restart=always										表示在服务挂掉时无论其返回值都重启(如果设置为on-failure则只在服务返回值非0时重启)
RestartSec=3s 										表示服务挂掉后3s后尝试重启。
注意:[Service]的启动、重启、停止命令全部要求使用绝对路径
WantedBy=multi-user.target 指的是:sshd 所在的 Target 是multi-user.target。
这个设置非常重要,因为执行systemctl enable sshd.service命令时,sshd.service的一个符号链接,
就会放在/etc/systemd/system目录下面的multi-user.target.wants子目录之中。Systemd 有默认的启动 Target。
systemctl get-default 所以开机自启完全依赖于它

3.10 启动Nginx服务

代码如下(示例):

c 复制代码
#启动并开机自启
systemctl enable nginx.service --now
# 查看nginx运行情况
systemctl status nginx.service 
相关推荐
小夏子_riotous9 分钟前
openstack的使用——7. 共享文件系统manila服务
linux·运维·服务器·系统架构·centos·openstack·运维开发
Omics Pro10 分钟前
上海AI Lab+复旦大学:双轨协同实现自动化虚拟细胞建模
运维·人工智能·语言模型·自然语言处理·数据挖掘·数据分析·自动化
Bert.Cai17 分钟前
Linux cp命令详解
linux·运维
hotlinhao23 分钟前
Nginx rewrite last 与 redirect 的区别——Vue history 模式短链接踩坑记录
前端·vue.js·nginx
Mapleay1 小时前
创建 Linux SDK包源码阅读环境
linux·运维·服务器
hong78171 小时前
阿里coding plan qwen3.6-plus 不支持图片上下文长度只有200K,问题出在哪?
linux·运维·数据库
Lsir10110_1 小时前
深入链路层:报文 MAC 传输原理与 ARP 欺骗、中间人攻击全解析
运维·服务器·网络
modelmd1 小时前
Docker 重命名数据卷
运维·docker·容器
Skilce1 小时前
K8S部署
linux·运维·服务器·容器·kubernetes
程序员老邢1 小时前
【技术底稿 12】内网统一日志系统 Loki + Promtail 全流程部署(对接 Grafana,监控日志一体化)
java·运维·程序人生·grafana·devops