Nginx安装、升级与ssl认证

133 阅读2分钟

编译安装Nginx服务

关闭防火墙,上传安装包

systemctl stop firewalld
setenforce 0

image.png

安装依赖包(yum install没有成功的话就搭建本地yum仓库在安装)

yum -y install \  
pcre-devel \   #perl的接口开发包
zlib-devel \   #提供相应的库和头文件
gcc \   #c语言编译器 
gcc-c++ \    #c++编译器
make   #编译

image.png

创建组账户

Nginx 服务程序默认以 nobody 身份运行,建议为其创建专门的用户账号,以便更准确地控制其访问权限(不创建在生产环境中是非法的)

useradd -M -s /sbin/nologin nginx

image.png

编译安装Nginx

tar zxvf nginx-1.12.2.tar.gz -C /opt/
cd /opt/nginx-1.12.2

image.png

./configure \ 
--prefix=/usr/local/nginx \ #指定nginx的安装路径 
--user=nginx \ #指定用户名 
--group=nginx \ #指定组名 
--with-http_stub_status_module #启用 http_stub_status_module 模块以支持状态统计 操作

image.png

make && make install  #编译

image.png

做软连接

ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/  #让系统识别nginx的操作命令

image.png

检查、启动nginx服务

nginx -t #检查配置文件是否配置正确    
nginx     #启动

image.png

升级nginx版本

解压

    tar xf nginx-1.22.1.tar.gz

image.png

编译安装

cd nginx-1.22.1   #切换目录
./configure                           #安装模块
--prefix=/usr/local/nginx \
--user=nginx \
--group=nginx \
--with-http_stub_status_module \
--with-http_ssl_module \          

image.png

查看usr/local下有一个nginx文件

ls /usr/local

image.png

编译一下,这个时候不要用 make install这个命令

make

image.png

编译结束后看一下objs下有没有nginx文件

cd objs/
ls 

image.png

将旧的nginx 移动并改名

mv /usr/local/nginx/sbin/nginx  /usr/local/nginx/sbin/nginx-old

image.png

将新的nginx拷贝到/usr/local/nginx/sbin/  并取名为nginx

cp nginx /usr/local/nginx/sbin/nginx

image.png

查看版本,升级成功

Nginx -V 

image.png

安装ssl

cd /usr/local/nginx/conf/
openssl genrsa -des3 -out tmp.key 2048    #生成私钥文件(tmp.key),会让你设置私钥文件的密码

image.png

openssl rsa -in tmp.key -out ssl.key && rm -f tmp.key    # 转换私钥文件(ssl.key),把密码取消掉,否则客户端用https访问时需要输入密码

image.png

openssl req -new -key ssl.key -out ssl.csr        #生成一个证书请求文件(ssl.csr),需要用到这个请求文件与私钥文件结合来生成公钥文件,会让你填一些信息,可以随便填

image.png

openssl x509 -req -days 365 -in ssl.csr -signkey ssl.key -out ssl.crt && rm -f ssl.csr

image.png

cd /usr/local/nginx/conf
cp nginx.conf nginx_lzaf.conf

image.png 编辑文件并新增server节点

vim nginx.conf

# HTTPS server
    #
    server {
        server_name localhost;
        listen 443 ssl;                                    #一定要有ssl,不然会报错
    #    ssl on;                                             #务必要注释掉,不然会报错
        ssl_certificate /usr/local/nginx/conf/ssl.crt;              #公钥文件
        ssl_certificate_key /usr/local/nginx/conf/ssl.key;             #私钥文件
        ssl_protocols TLSv1 TLSv1.1 TLSv1.2;                       #指定SSL协议版本
        ssl_prefer_server_ciphers on;

 }

image.png

网页打开IP地址:http://192.168.192.130/,成功了

image.png