• Nginx学习笔记02——安装部署Nginx


    前期准备

    VMware和CentOS7
    安装VMware虚拟机,在VMware中安装CentOS7操作系统,我这边只提供Vmware和CentOS7的下载地址,网上有很多教程,一步一步跟着安装就行。
    VMware下载地址(下载Windows版本的就行):https://www.vmware.com/cn/products/workstation-pro/workstation-pro-evaluation.html
    CentOS7镜像下载地址:http://mirrors.aliyun.com/centos/7.9.2009/isos/x86_64/
    下载这个
    在这里插入图片描述
    两者都下载完后,搜索VMware安装CentOS7安装教程跟着安装就行。

    Xshell和Xftp
    还需要安装Xshell和Xftp两个软件,Xshell是为了更加方便地操作我们的虚拟机,Xftp是为了更加方便地操作虚拟机中的文件。
    下载地址:https://www.xshell.com/zh/free-for-home-school/
    填入姓名和邮箱就可以免费获取了
    在这里插入图片描述

    下载Nginx

    Nginx下载地址:http://nginx.org/en/download.html
    在这里插入图片描述
    下载后是tar.gz类型的压缩包,需要在虚拟机中来解压
    在这里插入图片描述

    安装Nginx

    使用Xshell连接我们的虚拟机
    在这里插入图片描述
    使用Xftp将下载好的压缩包移动到根目录
    在这里插入图片描述
    ls查看一下
    在这里插入图片描述
    解压压缩包
    tar zxvf nginx-1.21.6.tar.gz
    在这里插入图片描述
    进入nginx目录
    cd nginx-1.21.6/
    在这里插入图片描述
    /usr/local/nginx目录下安装Nginx
    ./configure --prefix=/usr/local/nginx
    发现报错,是缺少C编译器依赖导致的
    在这里插入图片描述
    安装gcc
    yum install -y gcc
    在这里插入图片描述
    再次安装Nginx
    ./configure --prefix=/usr/local/nginx
    发现还是缺少两个依赖,安装这两个依赖
    yum install -y pcre pcre-devel
    yum install -y zlib zlib-devel
    安装好后再次安装Nginx,如下图
    ./configure --prefix=/usr/local/nginx
    在这里插入图片描述
    使用make命令来编译源程序
    在这里插入图片描述
    最后运行make install,成功安装
    在这里插入图片描述
    此时就安装好Nginx了,它所在的目录是/usr/local/nginx
    在这里插入图片描述

    启动Nginx

    进入/usr/local/nginx/sbin目录
    在这里插入图片描述
    启动nginx./nginx
    在这里插入图片描述
    浏览器中输入当前虚拟机的ip地址,发现无法访问,这是防火墙的问题在这里插入图片描述
    关闭防火墙systemctl stop firewalld.service,再次访问,发现可以正常访问nginx了
    在这里插入图片描述
    一些其他的nginx和防火墙命令:

    启动:./nginx
    快速停止:./nginx -s stop
    优雅关闭:./nginx -s quit(关闭前完成已经接受的连接请求)
    重新加载配置:./nginx -s reload
    禁止防火墙开机启动:systemctl disable firewalld.service
    
    • 1
    • 2
    • 3
    • 4
    • 5

    安装nginx为系统服务脚本

    创建脚本文件vim /usr/lib/systemd/nginx.service
    在这里插入图片描述
    将以下内容复制进去(记着先按一下i键来开启编辑模式)

    [Unit] 
    Description=nginx
    After=network.target remote-fs.target nss-lookup.target
    
    [Service]
    Type=forking
    PIDFile=/usr/local/nginx/logs/nginx.pid
    ExecStartPre=/usr/local/nginx/sbin/nginx -t -c /usr/local/nginx/conf/nginx.conf
    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
    ExecQuit=/usr/local/nginx/sbin/nginx -s quit 
    PrivateTmp=true
       
    [Install]   
    WantedBy=multi-user.target  # 多用户
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16

    在这里插入图片描述
    :wq保存退出
    重新加载一下系统服务systemctl daemon-reload
    因为之前我们已经启动了nginx了,查询一下之前启动的nginx服务ps -ef | grep nginx
    在这里插入图片描述
    停止nginx服务./nginx -s stop
    重新查询之前启动的nginx服务ps -ef | grep nginx,发现已经没有了,这时我们就可以使用系统脚本来启动nginx了
    在这里插入图片描述
    使用系统脚本来启动nginx
    systemctl start nginx.service
    使用系统脚本查询nginx状态
    systemctl status nginx.service
    可以看到状态为active(running),说明已经正常启动

    在这里插入图片描述
    设置nginx服务为开机启动
    systemctl enable nginx.service
    在这里插入图片描述
    重新在浏览器中访问nginx服务器,可以正常访问
    在这里插入图片描述
    其他系统脚本命令

    启动nginx:systemctl start nginx.service 
    查询nginx状态:systemctl status nginx.service 
    重新加载nginx:systemctl reload nginx.service 
    停止nginx:systemctl stop nginx.service 
    设置nginx服务为开机启动:systemctl enable nginx.service
    
    • 1
    • 2
    • 3
    • 4
    • 5
  • 相关阅读:
    VBA入门1——基础
    第3章 Tomcat&servlet
    L1W3 用1层隐藏层的神经网络分类二维数据
    高频react面试题自检
    关于Flask高级_session的操作
    StringRedisTemplate与RedisTemplate的区别,以及Redis的工具类封装
    MySQL数据库连接失败
    Spring 事务传播机制源码浅析
    Python gRPC 基础教程
    RocketMQ 消费端如何监听消息?
  • 原文地址:https://blog.csdn.net/weixin_46116099/article/details/125392189