• 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
  • 相关阅读:
    Web前端开发基础笔记(6)
    2023.11.15-hivesql之炸裂函数explode练习
    如何在 Windows 10 上安装 Ubuntu 操作系统?
    使用领域引导图卷积神经网络GCNN增强基于脑电图EEG的神经疾病诊断完整代码
    回顾 — SFA:简化快速 AlexNet(模糊分类)
    一起瓜分20万奖金!第三届火焰杯软件测试大赛开始公开选拔!
    rails常用小技巧合集(一)
    正则匹配手机、邮箱、密码
    排列组合——n个人平均分成m组
    Java - Gson和Fastjson如何选择?
  • 原文地址:https://blog.csdn.net/weixin_46116099/article/details/125392189