Linux 安装 nginx

在这里插入图片描述

正常是两种安装方式

  1. 一种是使用系统的包管理软件,比如centosyum -y install nginx命令(简单但不推荐,配置文件分散不易管理,且需要配置第三方源yum -y install epel-release等,如果是简单使用,配置文件什么的都不改,做一些测试使用之类的任务,还是比较方便的,总的来说,看自己需求)
  2. 第二种是通过源码编译安装的方式(推荐),可以自定义配置文件存放位置,自主选择安装版本等。
    前往nginx官网

文章目录

  • 1. 包管理软件安装
    • 1.1 redhat系列
    • 1.2 debian系列
  • 2. 源码安装
    • 2.1 选择需要的版本
    • 2.2 编译安装
      • 2.2.1获取源码
      • 2.2.2编译安装
    • 2.3 创建软链接
      • 2.3.1 四个目录
    • 2.4 设置自启动
      • 2.4.1新建nginx服务
      • 2.4.2验证自启动
      • 2.4.3启动失败
          • 2.4.3.1查看状态
          • 2.4.3.2检查端口占用
          • 2.4.3.3重启
          • 2.4.3.4检查状态
  • 3.常用命令
    • 3.1启动
    • 3.2停止
    • 3.3检查文件
    • 3.4重载配置文件
    • 3.5开启、停止、重启服务
  • 4. nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
          • 4.1查看状态
          • 4.2检查端口占用
          • 4.3重启
          • 4.4检查状态
    • 补充:再不行就关掉防火墙(不推荐)

1. 包管理软件安装

https://bbs.deepin.org/en/post/209759

1.1 redhat系列

# 安装第三方源
yum -y install epel-release
# 安装nginx(安装源内最新版,不一定是官网最新版)
yum -y install nginx

1.2 debian系列

# 安装nginx(安装源内最新版,不一定是官网最新版)
apt -y install nginx

2. 源码安装

各Linux发行版本通用

2.1 选择需要的版本

nginx历史版本
在这里插入图片描述
选择一个版本,比如1.8.0,在legacy versions中选中nginx-1.18.0右键选择复制链接地址
在这里插入图片描述

2.2 编译安装

2.2.1获取源码

# 下载到本地:wget [复制的地址链接] -P [存放地址]
wget http://nginx.org/download/nginx-1.18.0.tar.gz -P /usr/local/src/
cd /usr/local/src
tar xzvf nginx-1.18.0.tar.gz
cd nginx-1.18.0
# 查看帮助
./configure --help

2.2.2编译安装

# 下载环境依赖
yum -y install gcc pcre-devel openssl-devel zlib-develuseradd -r -s /sbin/nologin nginx# 下面一块是一个整体复制进终端(当前目录在:/usr/local/src/nginx-1.18.0)
./configure --prefix=/apps/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# 编译安装
make -j 2 && make install
chown -R nginx.nginx /apps/nginx

2.3 创建软链接

ln -s /apps/nginx/sbin/nginx /usr/bin/
# 查看版本信息
nginx -v

2.3.1 四个目录

/apps/nginx
├── conf
├── html
├── logs
└── sbin

  1. conf 配置文件
  2. html web文件
  3. logs 日志信息
  4. sbin 可执行脚本

2.4 设置自启动

2.4.1新建nginx服务

vim /usr/lib/systemd/system/nginx.service# 复制下面到/usr/lib/systemd/system/nginx.service中
[Unit]
Description=The nginx HTTP and reverse proxy server
Documentation=http://nginx.org/en/docs/
After=network.target remote-fs.target nss-lookup.target
Wants=network-online.target
[Service]
Type=forking
PIDFile=/apps/nginx/run/nginx.pid
ExecStart=/apps/nginx/sbin/nginx -c /apps/nginx/conf/nginx.conf
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s TERM $MAINPID
[Install]
WantedBy=multi-user.targetmkdir /apps/nginx/run/
vim /apps/nginx/conf/nginx.conf# 复制下面到/apps/nginx/conf/nginx.conf中(可以解开注释并修改,或者直接复制进去)
pid /apps/nginx/run/nginx.pid;

在这里插入图片描述

2.4.2验证自启动

systemctl daemon-reload
systemctl enable nginx
ll /apps/nginx/run
# 存在pid文件

2.4.3启动失败

2.4.3.1查看状态

在这里插入图片描述

2.4.3.2检查端口占用

在这里插入图片描述

2.4.3.3重启

在这里插入图片描述

2.4.3.4检查状态

在这里插入图片描述

3.常用命令

nginx官方文档

3.1启动

# 直接nginx
nginx

3.2停止

nginx -s stop

3.3检查文件

验证文件是否正确

nginx -t

3.4重载配置文件

nginx -s reload

3.5开启、停止、重启服务

systemctl start nginx
systemctl stop nginx
systemctl restart nginx

4. nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)

出现的可能性比较大,单独拎出来,和上文内容一样

4.1查看状态

在这里插入图片描述

4.2检查端口占用

在这里插入图片描述

4.3重启

在这里插入图片描述

4.4检查状态

在这里插入图片描述

补充:再不行就关掉防火墙(不推荐)

systemctl stop firewalld

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

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

相关文章

1.15 什么是后端服务

文章目录 什么是后端服务后端服务的功能后端服务的技术栈结论 什么是后端服务 后端服务(Backend Service)是指在软件应用中负责处理数据、逻辑和业务功能的组件或模块。它通常运行在服务器端,为前端应用或客户端提供数据和服务支持。 后端服…

[GXYCTF2019]simple CPP

前言 三个加密区域,第一次是基本运算,八位叠加,z3方程 分析 第一轮加密,和Dst中模27异或 (出题人对动调有很大意见呢) 将输入的字符串按八位存入寄存器中,然后将寄存器内容转存到内存 第一次…

CMake 学习笔记(生成头文件)

CMake 学习笔记(生成头文件) 经常,我们需要检测系统环境,然后来生成一些对应的头文件,这个头文件通常叫做“configured header file”。一般命名为 config.h。 CMake 有个 configure_file() 命令专门用来做这个事情。…

每日一练 | 华为认证真题练习Day80

1、在Telnet中应用如下ACL:下列说法正确的是? acl number 2000 rule 5 deny source 172.16.105.30 rule 10 deny source 172.16.105.40rule 15 deny source 172.16.105.50rule 20 permit # A. IP地址为172.16.105.6的设备可以使用Telnet服务 B. IP…

SpringBoot中进行elasticSearch查询,使用QueryBuilders构建各类条件查询

查询所有 //搜索全部文档 QueryBuilder queryBuilder QueryBuilders.matchAllQuery();查询单个,等于/eq //单个匹配,搜索name为li的文档 QueryBuilder queryBuilder QueryBuilders.matchQuery("name", "li");查询多个字段匹配某一个值 //搜索…

【数据结构与算法】哈夫曼编码(最优二叉树)实现

哈夫曼编码 等长编码:占的位置一样 变长编码(不等长编码):经常使用的编码比较短,不常用的比较短 最优:总长度最短 最优的要求:占用空间尽可能短,不占用多余空间,且不…

C\C++ 使用ping判断ip是否能连通

文章作者:里海 来源网站:https://blog.csdn.net/WangPaiFeiXingYuan 简介: ping是一种用于测试网络连接的工具,它通过发送数据包到目标设备并等待其响应来工作,以检查网络是否连通。下面是例子. 效果: 代码…

JavaScript的WebAPI

这里写目录标题 DOM 基本概念获取元素事件概念事件的三要素操作元素获取/修改表单元素属性行内样式操作类名样式操作操作节点 DOM 基本概念 DOM 全称为 Document Object Model. W3C 标准给我们提供了一系列的函数, 让我们可以操作: 网页内容 ,网页结构, 网页样式 DOM数的结构如…

基于SpringBoot和Freemarker的用户管理系统

环境准备 JDK 1.8 及以上SpringBoot 2.5.5 及以上MySQL 5.7 及以上MavenIntelliJ IDEA (可选) 创建项目 我们使用 IntelliJ IDEA 创建一个 Spring Boot Web 项目。 打开 IntelliJ IDEA,点击菜单栏的 “File”,选择 “New”&…

vue2 element ui 的表格使用 sortablejs 拖拽列遇到的问题和解决方案

项目使用 element ui 的表格实现拖动表头可改变列的宽度,又使用sortablejs实现表格的列可拖拽到其他列的位置,导致出现如下的一些问题: 1、某一列宽变大或变小后,只有当前列可拖拽,其他列无法拖拽。 解决方案&#x…

软通动力与华秋达成生态共创合作,共同推动物联网硬件创新

7月11日,在2023慕尼黑上海电子展现场,软通动力信息技术(集团)股份有限公司(以下简称“软通动力”)与深圳华秋电子有限公司(以下简称“华秋”)签署了生态共创战略合作协议,共同推动物联网硬件生态繁荣发展。当前双方主要基于软通动力的产品及解…

【Python基础函数笔记】获取当前时间并写入日志

1.获取当前时间 import os from datetime import datetime import pytzdef get_cur_time():# 获取当前时间return datetime.strftime(datetime.now(pytz.timezone(Asia/Singapore)), %Y-%m-%d_%H-%M-%S)# 基础目录 basedir a logdir os.path.join(basedir, logs, str(args.n…

docker push镜像到自己的hub仓库

注册docker hub的账户 https://hub.docker.com/建立自己的仓库在终端执行 docker login给想要推送的镜像打标签 docker tag localimage:tag iamajdocker(账号名)/myrepository(仓库名):tag(dockerhub上显示的镜像名)例如: hub用户名为xx,在hub建立的仓库名为evmos…

Spring Cloud—GateWay之限流

RequestRateLimiter RequestRateLimiter GatewayFilter 工厂使用 RateLimiter 实现来确定是否允许当前请求继续进行。如果不允许,就会返回 HTTP 429 - Too Many Requests(默认)的状态。 这个过滤器需要一个可选的 keyResolver 参数和特定于…

pyqt 简单案例

一、空白的widget窗口 import sys from PyQt5 import QtWidgets,QtCoreapp QtWidgets.QApplication(sys.argv) widget QtWidgets.QWidget() widget.resize(360,360) widget.setWindowTitle("helloword") widget.show() sys.exit(app.exec_()) 需要引入sys模块&…

docker - 将tar包加载成镜像

这部分, 先从这篇开始吧, 然后根据相关工作顺序再慢慢介绍~ 介绍: 一般构建我们自己的镜像有很多方式, 这里介绍根据tar包进行构建镜像images. 用法: 加载镜像的tar包, 在服务器生成对应的镜像images: sudo docker load -i /home/xxx/tar_name.tar参数介绍: /home/xxx/ta…

STL源码刨析_stack _queue

目录 一. 介绍 1. stack 介绍 2. queue 介绍 二. 模拟实现 1. stack 模拟实现 2. queue 模拟实现 三. deque 1. deque 接口 2. 底层 一. 介绍 1. stack 介绍 stack(栈)是一种容器适配器,它提供了一种后进先出(LIFO&#xff0…

VMware安装Ubuntu(VMware版本17-Ubuntu版本16.0)

VMware安装Ubuntu(VMware版本17-Ubuntu版本16.0) 一,VMware虚拟机下载官网点击https://customerconnect.vmware.com/cn/downloads/info/slug/desktop_end_user_computing/vmware_workstation_pro/17_0 二,Ubuntu乌班图下载官网点…

VB旅游资源及线路管理系统的设计与实现

旅游作为一个新兴的产业近年来取得了迅速的发展,旅行社如雨后春笋遍布全国各省市、目前旅游行业普遍存在着企业规模小,管理不规范等弱点。因为旅游涉及吃、住、行、游、购、娱等诸多要素,而且这些要素又分散在不同的地域中,一个人不可能全面掌握所有的信息。一旦掌握某方面…

会议OA项目之会议发布(多功能下拉框的详解)

🥳🥳Welcome Huihuis Code World ! !🥳🥳 接下来看看由辉辉所写的关于OA项目的相关操作吧 目录 🥳🥳Welcome Huihuis Code World ! !🥳🥳 一.主要功能点介绍 二.效果展示 三.前…