Nginx 01篇——Nginx详细安装步骤以及Nginx各种启动方式

news2024/11/19 3:38:00

Nginx 01篇——Nginx详细安装步骤以及Nginx各种启动方式

  • 1. 前言
  • 2. 下载安装
    • 2.1 下载安装包
    • 2.2 安装
      • 2.2.1 离线安装
        • 2.2.1.1 安装步骤
        • 2.2.1.2 安装问题
      • 2.2.2 先安装所需依赖
      • 2.2.3 直接 yum 安装
      • 2.2.4 指定安装目录安装
  • 3. nginx 启动
  • 4. 启动后访问
  • 5. Nginx 启动等简单命令
    • 5.1 启动Nginx
    • 5.2 关闭 Nginx
    • 5.3 重启 Nginx(平滑的重启,重新加载配置文件)
      • 5.3.1 重启 Nginx 命令(解释)
      • 5.3.2 重启 Nginx(配置文件错误时演示)
    • 5.4 检查 Nginx 配置文件
      • 5.4.1 Nginx 执行文件的命令行参数介绍
      • 5.4.2 检查 Nginx 配置文件演示
      • 5.4.3 遇到的问题
        • 5.4.3.1 -bash: nginx: command not found
  • 6. 卸载Nginx ,重新安装
    • 6.1 卸载 Nginx
    • 6.2 使用wget下载 并 指定Nginx的安装目录
      • 6.2.1 使用wget下载安装包
      • 6.2.2 解压并安装Nginx
      • 6.2.3 指定安装目录安装

1. 前言

2. 下载安装

2.1 下载安装包

  • 去官网自己下载所需版本,版本尽量选择 Stable version:最新稳定版,生产环境上建议使用的版本。
    http://nginx.org/.
    在这里插入图片描述
    在这里插入图片描述
  • 下载之后上传到服务器上准备安装
    在这里插入图片描述

2.2 安装

2.2.1 离线安装

2.2.1.1 安装步骤

  1. 先解压

    tar -zxvf nginx-1.22.0.tar.gz
    

    在这里插入图片描述
    在这里插入图片描述

  2. 以防安装失败,执行make(编译) 和 make install(安装)命令之前,可以先执行命令 ./configure,检查是否缺少依赖
    在这里插入图片描述
    看到这个结果,证明不缺少什么依赖了,我这里之前可能都装过,所以不缺少,如果缺少什么会报错提示,直接安装即可

    • 比如OpenSSL
      yum -y install openssl openssl-devel
      
  3. 检查完之后没问题,直接安装即可
    使用命令:make && make install
    在这里插入图片描述
    在这里插入图片描述

2.2.1.2 安装问题

2.2.2 先安装所需依赖

  1. 先安装所需的依赖,直接一键安装,其实这里的gcc什么的,如果装过 redis 什么的其他软件,这个gcc你服务器上也早就安装了,这个一键安装主要是给没说一下 nginx 安装需要这些依赖,别较真,知道就行了

    yum -y install gcc zlib zlib-devel pcre-devel openssl openssl-devel
    
  2. 然后在按照 2.2.1 的步骤安装即可

2.2.3 直接 yum 安装

  • 如果不离线安装,也可以直接 yum 命令安装,自己可以试试

    yum -y install nginx
    

    在这里插入图片描述
    在这里插入图片描述

  • 查询默认按照目录

    whereis nginx
    

    在这里插入图片描述
    不指定安装目录的话,有点乱,个人觉得安装时最好指定安装路径,当然看自己喜好

2.2.4 指定安装目录安装

  • 请往下看 6.2 章节的《使用wget下载 并 指定Nginx的安装目录》

3. nginx 启动

  • 启动:
    进入目录:/usr/local/nginx/sbin
    启动命令:./nginx
    在这里插入图片描述

4. 启动后访问

  1. 首先查看访问端口:
    去安装路径下找 nginx.conf 配置文件,查看端口号
    在这里插入图片描述
    在这里插入图片描述
  2. 浏览器输入IP地址访问
    在这里插入图片描述
    如果不能访问,看下面防护墙的处理
  3. 处理防火墙问题
    虚拟机linux查看防火墙状态、关闭防火墙、开放端口等.

5. Nginx 启动等简单命令

5.1 启动Nginx

  • 常用的命令如下:
    1. 进入nginx目录,执行启动命令:
      ./nginx
      
    2. 直接带目录启动:
      /usr/sbin/nginx 
      
    3. 使用 systemctl 启动方式:
      service nginx start
      
      在这里插入图片描述
    4. 指定配置文件启动:
      ./nginx -c /etc/nginx/nginx.conf
      
      在这里插入图片描述

5.2 关闭 Nginx

  1. 快速关闭 Nginx
    ./nginx -s stop
    
  2. 正常关闭 Nginx,有序地停止 Nginx(等待所有请求结束后再关闭Nginx)
    ./nginx -s quit
    
    在这里插入图片描述

5.3 重启 Nginx(平滑的重启,重新加载配置文件)

5.3.1 重启 Nginx 命令(解释)

  • 观察进程号,如下:
    ./nginx -s reload
    
    在这里插入图片描述
  • 简单解释:
    • reload :重新加载配置文件,启动一个加载新配置文件的Worker Process,正常关闭一个加载旧配置文件的Worker Process。
    • 我们来看官网怎么说的吧:
      https://nginx.p2hp.com/en/docs/beginners_guide.html.
      在这里插入图片描述
    • 看不太懂,来看翻译,如下:
      Nginx重载
      一旦主进程接收到重新加载配置的信号,它就会检查新配置文件的语法有效性,并尝试应用其中提供的配置。
      
      如果成功,主进程将启动新的工作进程,并向旧的工作进程发送消息,请求它们关闭。
      否则,主进程将回滚更改并继续使用旧配置。
      
      旧的工作进程,接收到关闭命令,停止接受新连接,并继续为当前请求提供服务,直到所有此类请求都得到服务。之后,旧的工作进程退出。
      
      在这里插入图片描述
    • 所以,Nginx 重启(reload )之后,master 的进程号不变,worker的进程号会改变

5.3.2 重启 Nginx(配置文件错误时演示)

  • 下面我修改配置文件,第一次故意修改错,重启我看看master 和 worker 的进程号。然后在配置文件没问题的情况下再次重启,再看master 和 worker 的进程号。

    主要看图中文字解释,如下:
    在这里插入图片描述
    在这里插入图片描述

5.4 检查 Nginx 配置文件

5.4.1 Nginx 执行文件的命令行参数介绍

  1. -t 参数:
    进行配置文件语法检查,测试配置文件的有效性。
    如果配置文件存在语法错误,会有相应的提示信息,所以,我们修改配置文件后,可以先进行语法检查,然后再重启 Nginx
  2. -T 参数:
    进行配置文件语法检查,测试配置文件的有效性,同时输出所有有效配置内容。
  3. -q 参数
    在测试配置文件有效性时,不输出非错误信息。
  4. 更多 Nginx 执行文件的命令行参数可以通过 -h 参数获取,如下:
    nginx -h
    
    在这里插入图片描述

5.4.2 检查 Nginx 配置文件演示

  • 执行配置文件检测:
    nginx -t
    
  • 执行配置文件检测,且只输出错误信息:
    nginx -t -q
    
  • 执行测试,如下:
    在这里插入图片描述

5.4.3 遇到的问题

5.4.3.1 -bash: nginx: command not found

  • 在yum 安装的 Nginx下执行 nginx -h 没问题,但是在离线安装的Nginx下执行有问题,如下:
    在这里插入图片描述
    在这里插入图片描述
  • 解决上述问题
    • ① 最简单的方式就是不解决,如下:
      使用 ./nginx -h 查看
      在这里插入图片描述
    • ② 创建软链接:
      ln -s /usr/local/nginx/sbin/nginx  /usr/local/bin/nginx
      
      在这里插入图片描述
      另外,关于软链接的介绍可以看下面这篇文章:
      简单说说 linux 软链接和硬链接.
    • ③ 配置环境变量:
      • 在配置环境变量之前,我们先把上面的软链接给删了
        rm -rf /usr/local/bin/nginx
        
        在这里插入图片描述
      • 然后再配置环境变量,如下:
        vim /etc/profile
        
        在这里插入图片描述
      • 这里我是重新创建的软链接,再次删除,如下:在这里插入图片描述
    • ④ 那就是在安装的时候,通过设置 configure 的命令参数来实现,比如 --with-cc=PATH--with-cpp=PATH
      我没有试,想尝试的可以自己试试玩。

6. 卸载Nginx ,重新安装

  • 使用 yum 安装之后,默认安装路径不是自己想用的,那可以卸载重装
    • 查看安装目录:whereis nginx
      在这里插入图片描述

6.1 卸载 Nginx

  1. 先检查并关闭nginx服务:
    ps -ef | grep nginx
    
    nginx -s stop
    
    在这里插入图片描述
  2. 查询包含 nginx 的所有文件夹
    find / -name nginx
    
    在这里插入图片描述
  3. 删除上述查询到的文件
    在这里插入图片描述
    好了,下面安装如下

6.2 使用wget下载 并 指定Nginx的安装目录

6.2.1 使用wget下载安装包

  • 下载如下:
    wget http://nginx.org/download/nginx-1.22.0.tar.gz
    
    在这里插入图片描述

6.2.2 解压并安装Nginx

  1. 准备好安装路径:
    /home/susu/soft/install/nginx
    
    在这里插入图片描述
  2. 解压安装包
    tar -zxvf nginx-1.22.0.tar.gz
    
    在这里插入图片描述

6.2.3 指定安装目录安装

  1. 准备好安装路径:
    /home/susu/soft/install/nginx
    
    在这里插入图片描述
  2. 配置安装选项,指定安装目录
    • 指定安装目录配置如下:
      ./configure --prefix=/home/susu/soft/install/nginx --sbin-path=/home/susu/soft/install/nginx/sbin/nginx
      
      在这里插入图片描述
      在这里插入图片描述
    • 其他更多配置,可用命令 ./configure --help 查看
      在这里插入图片描述
  3. 开始安装
    make && make install
    
    在这里插入图片描述
    在这里插入图片描述
    ok,到这里就是安装成功了
  4. 查看安装目录
    在这里插入图片描述
  5. 启动 Nginx 服务
    在这里插入图片描述
    好了,到此就完事了,第一篇完美!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/125024.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

SVN,Git与Helix Core,谁的数据管理基础设施更安全?

2022年2月底,全球知名的半导体芯片公司英伟达被爆遭到勒索软件攻击,不久后,英伟达公司官方证实遭到入侵,攻击者已开始在线泄露员工凭据和私密信息。勒索软件组织表示,如果英伟达拒绝支付高达100万美元的赎金&#xff0…

写在2022年的末尾

今年是我人生的第24个年头。 最近了解稚晖君,xinglu师兄,以及很多优秀的同辈人的事迹之后,感觉到自己还差了很远。 读研已经过半,研二已经到了第二个学期,而自己还什么成果都没有。甚至开题的事情到现在都还没有头绪。…

C++简介

C是一种计算机高级程序设计语言,由C语言扩展升级而产生 ,最早于1979年由本贾尼斯特劳斯特卢普在AT&T贝尔工作室研发。 C既可以进行C语言的过程化程序设计,又可以进行以抽象数据类型为特点的基于对象的程序设计,还可以进行以…

计算机英文论文怎么做降重? - 易智编译EaseEditing

人工降重一定要找靠谱的机构做。 降重是很耗费精力和时间的学术服务。 而那些没有口碑且不专业的商家,真的会花费那么多心思来仔细琢磨你的论文吗? 那些没有声誉的非专业商家给论文降重会产生很多弊端: (1)他们为了…

内网穿透你真的了解吗?

前言 内网穿透作为程序员常用的调试手段之一,我们可以通过在个人电脑上运行花生壳或者 frp 等方式,让他人访问我们本地启动的服务,而且这种访问可以不受局域网的限制,当我们使用ngrok,frp等开源框架时,你是否有好奇过…

力扣sql入门篇(一)

力扣sql入门篇(一) 1 大的国家 1.1 题目内容 1.1.1 基本题目信息 1.1.2 示例输入输出 1.2 示例sql语句 SELECT name,population,area FROM World WHERE area>3000000 OR population>250000001.3 运行截图 2 可回收且低碳的产品 2.1 题目内容 2.1.1 基本题目信息 2.…

c++使用icu国际化(i18n)

icu International Components for Unicode,https://github.com/unicode-org/icu.git https://icu.unicode.org/ 帮助文档: https://unicode-org.github.io/icu/userguide/icu/howtouseicu.html i18n,Internationalization (in/i18n) libra…

第五章:开机,重启和用户登录注销-[实操篇]

一:开机&重启命令 1.1基本介绍 shutdown shutdown -h now:表示立即关机 shutdown -h 1 : 表示1分钟后关机 shutdown -r now : 立即重启 halt 就是直接使用,效果等价于关机 reboot 就是直接使用,效果等价于关机 syn &…

uTools V3.3.0 效率工具集

前言 uTools是一款基于electron开发的工具集软件,通过快捷唤醒搜索,直接打开各种功能,非常方便。 uTools uTools是一个极简、插件化、跨平台的现代化桌面软件。通过自由选配丰富的插件,打造你得心应手的工具集合。 通过快捷键…

制作gltf动态夜景模型

kele 前言 要制作一个充满科技感的场景,离不开动画特效。众所周知,Unity软件可制作各种炫酷动画效果,如果将Unity中的动画添加到WebGL网页项目中,那一定会非常美妙吧~接下来小编将介绍如何通过Unity制作纹理动画,并导…

RISC-V IDE MRS使用笔记(七) :常用开发技巧汇总

RISC-V IDE MRS使用笔记(七) :常用开发技巧汇总 Q1: MRS调试时如何查看外设寄存器内容? A1: 在调试配置界面添加相应的.svd文件。 Q2: MRS如何调用数学库? A2: #include ”math.h”头文件,并在工程属性页面增加”m”参数。 Q3: 如何设置MRS调试前默认…

还在对比IT培训机构,行内人告诉你怎么比?

还在对比IT培训机构,行内人告诉你怎么比?因为身处IT培训行业6年多点时间 ,从讲师到校区经营的成长履历中。见识过众多机构的运营和发展,当然也包含我所在的正厚软件。平时在知乎上看的多,自然推荐的关于机构对比的话题…

蓝牙无线运动耳机排行榜、口碑最好的运动蓝牙耳机推荐

越来越多的人开始喜欢蓝牙耳机的便携性,尤其对于运动的慢跑族,蓝牙耳机更为方便携带和佩戴,毕竟没有了线束的烦恼,目前蓝牙耳机市场很大,用户人群很多,我体验过的这类产品比较多,如何挑选一款满…

MySQL5.7安装配置教程-Windows(企业常用版)超详细

引言 MySQL 5.7 为公司、企业常用的MySQL版本。 正在学习或正在工作的小伙伴推荐相关教程按照5.7的版本来学习、操作。 1. 下载MySQL 阿里云盘不限速高速下载地址: https://www.aliyundrive.com/s/YTMa5LfSFB2 因为阿里云盘不支持zip压缩包的分享,我用…

【财务】FMS财务管理系统---应付结算

本篇文章中,笔者对应付结算各个部分进行了梳理和分析,与大家分享。 前面相继介绍了财务系统的组成、财务数据流转、应收管理、质保金、预付款、费用管理以及合同管理。 我个人觉得应付结算管理部分的逻辑是整个FMS财务管理系统中较为复杂的一部分&#…

APP测试面试题汇总

一、基础篇 1、请介绍一下,APP测试流程? APP测试流程与web测试流程类似,分为如下七个阶段: 1.根据需求说明书编写测试计划; 2.制定测试方案,主要是测试任务、测试人员和测试时间的分配; 3.…

Vue3 Composition API: 对比ref和reactive

Vue2 回顾 首先回顾一下在Vue2中我们是如何创建一个响应式数据 (reactive data)的: Vue3新特性 ref的使用 而在Vue3中,我们可以用Composition API: ref 来改写上述代码: ref 的作用就是将一个原始数据类型(primitive data t…

NPM 2FA双重认证的设置方法

NPM在使用用户名和密码登录后,他觉得还不是很安全,需要用一个手机软件来生成一个随机验证码,两者同步,来做二次验证。类似于手机银行的优盾或者验证码验证。 双重验证:标准验证方法,其中一个因素是密码。 …

gdb调试跟踪代码

编译 用gcc/g编译源程序的时候,编译后的可执行文件不会包含源程序代码,如果要使用gdb调试的话,编译的时候要加 -g 的参数。 gcc test.c -o test -g调试 gdb test常用命令: (gdb)help:查看命令…

jira-dev-tool插件安装失败的解决方法

最近,在运行【React React Hook TS 最佳实践仿 Jira 企业级项目】的时候,安装jira-dev-tool 插件出现问题,参考:https://www.npmjs.com/package/jira-dev-tool。解决方法:在项目中执行: npx msw init pu…