Centos7.6安装Nginx(yum安装和源码安装)

news2024/11/13 23:17:46

Centos7.6安装Nginx(yum安装和源码安装)

简介

yum安装

源码安装

安装后的事情

常见问题

简介

        Nginx(发音为“engine X”)是一个高性能的HTTP和反向代理服务器,也可以作为邮件代理服务器使用。它被广泛应用于高流量的网站和负载均衡环境中。Nginx的设计目标是提供高性能、高可靠性的服务,并且具有较小的内存占用和CPU占用。Nginx最初由俄罗斯的程序员Igor Sysoev开发,于2004年首次发布。它采用事件驱动的异步架构,可以处理大量并发连接,并且能够有效地处理高并发访问。Nginx具有许多功能,包括HTTP服务器、反向代理、负载均衡、缓存加速、动态模块化和HTTPS支持等。它还提供了丰富的配置选项,使用户可以根据具体需求定制服务器的行为。Nginx的优点包括高性能、高并发支持、低内存占用、模块化架构、灵活的配置和可扩展性。总的来说,Nginx是一个功能强大且高效的Web服务器和反向代理服务器,适用于处理高流量和高并发的网站和应用程序。它的设计理念和性能表现使其成为现代互联网架构中不可或缺的一部分。下面将展示Nginx的两种安装方法。

yum安装

        使用yum安装前应确保yum源配置完成且正确,详细可以参考包的安装与管理包的安装与管理。本篇也会提供nginx.org提供的yum配置方法,在安装前还需确认以获得root权限,防止安装过程中出现权限不足导致的安装失败。

1、添加 Nginx 的 Yum 仓库

> vim /etc/yum.repos.d/nginx.repo
    [nginx-stable]
    name=nginx stable repo
    baseurl=https://nginx.org/packages/centos/7/\$basearch/
    gpgcheck=1
    enabled=1
    gpgkey=https://nginx.org/keys/nginx_signing.key
    module_hotfixes=true

2、安装 Nginx

> yum -y install nginx # -y 直接安装无需确认

3、启动 Nginx 服务

> systemctl start nginx

4、设置 Nginx 开机自启

> systemctl enable nginx

5、检查 Nginx 服务状态

> systemctl status nginx

6、到这里可以打开浏览器输入“http://服务器IP/”来验证 Nginx 是否安装成功,安装成功会显示欢迎界面,如下图所示

源码安装

        源码安装会相对yum安装复杂一点,需要先安装Nginx的依赖项和下载源码,安装完成后还需要建立systemctl的管理控制(可选,推荐)

1、安装Nginx依赖项,建议全都运行一下,检查一下是否有缺失

> yum -y install gcc-c++ pcre-devel zlib-devel make

2、下载Nginx源代码并进行解压

在nginx.org下载Nginx源码到当前目录,这里的Nginx版本为1.20.1
> wget http://nginx.org/download/nginx-1.20.1.tar.gz

解压到当前目录
> tar -zxvf nginx-1.20.1.tar.gz

进入解压好的源码目录
> cd nginx-1.20.1

3、配置Nginx

创建系统用户
> groupadd -f www
> useradd -g www www

配置编译文件
> ./configure --user=www --group=www --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module
# --user:将系统用户赋权给Nginx使用,用户属组是www;
# --prefix:Nginx的安装路径,不写该选项即为默认,默认情况下,Nginx会被安装到/usr/local/nginx
# --with-http_stub_status_module:包含客户端状态模块
# --with-http_ssl_module:提供对HTTPS必要的支持

4、 编译和安装Nginx

> make && make install # make:编译 make install:安装

第3步中的配置编译文件和第4步都不报错才代表安装成功 

 5、启动Nginx

启动Nginx
> /usr/local/nginx/sbin/nginx

查看Nginx版本
> /usr/local/nginx/sbin/nginx -v

检查Nginx是否运行
> ps -ef | grep nginx

 

6、设置系统服务(systemctl)(可选,推荐方便管理)

        可以创建一个系统服务单元文件以便能够使用systemctl管理Nginx服务。创建一个名为nginx.service的文件在/etc/systemd/system/目录下

> vim /etc/systemd/system/nginx.service
    [Unit]
    Description=The NGINX HTTP and reverse proxy server
    After=syslog.target 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
    ExecStart=/usr/local/nginx/sbin/nginx
    ExecReload=/usr/local/nginx/sbin/nginx -s reload
    ExecStop=/bin/kill -s QUIT $MAINPID
    PrivateTmp=true
 
    [Install]
    WantedBy=multi-user.target

设置为开机启动Nginx服务
> systemctl enable nginx

启动Nginx服务
> systemctl start nginx # 因为前面已经启动过Nginx了,可能会造成80端口占用的提示,解决方法请看常见问题中的第2点

查看Nginx服务的状态
> systemctl status nginx

7、启动完成后可以打开浏览器输入“http://服务器IP/”来验证 Nginx 是否安装成功,安装成功会显示欢迎界面,如下图所示

安装后的事情

        确认服务器是否开启了防火墙,Linux自带的时firewalld,确保你的系统防火墙允许HTTP和HTTPS流量。如果你使用的是firewalld,可以使用以下命令

为public区域开通http端口
> firewall-cmd --permanent --zone=public --add-service=http

为public区域开通https端口
> firewall-cmd --permanent --zone=public --add-service=https

从新加载防火墙策略
> firewall-cmd --reload

常见问题

1、启动Nginx时出现了nginx: [emerg] getpwnam("wwww") failed

原因:没有配置 wwww 这个用户名

解决方法:

1)在 nginx.conf 中把 user nobody 的注释去掉;

> vim /usr/local/nginx/conf/nginx.conf

2)在服务器系统中添加用户组 wwww 和用户 www

> groupadd -f wwww
> useradd -g wwww wwww

2、启动Nginx时出现 nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)

 这是由于80端口已被使用导致的,运行下面的命令解除占用

> fuser -k 80/tcp

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

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

相关文章

linux进程控制——进程等待——wait、waitpid

前言:本节内容仍然是进程的控制,上一节博主讲解的是进程控制里面的进程创建、进程退出、终止。本节内容将讲到进程的等待——等待是为了能够将子进程的资源回收,是父进程等待子进程。 我们前面的章节也提到过等待, 那里的等待是进…

《C++基础入门与实战进阶》专栏介绍

🚀 前言 本文是《C基础入门与实战进阶》专栏的说明贴(点击链接,跳转到专栏主页,欢迎订阅,持续更新…)。 专栏介绍:以多年的开发实战为基础,总结并讲解一些的C/C基础与项目实战进阶内…

在MySQL中COUNT(*)、COUNT(列)和COUNT(DISTINCT 列)有什么区别

本文还发布在我的 medium 和 掘金 上 这篇文章让我们看看MySQL中count(*)和count(column_name)有什么区别。也许你知道它们都是计算结果行数的,那么在使用的时候如何选择呢。 我在MySQL库中创建了一个t_hero表 CREATE TABLE t_hero (id int NOT NULL,name char(10)…

软件测试——用例篇(上)

概念 什么是测试⽤例? 测试⽤例(Test Case)是为了实施测试⽽向被测试的系统提供的⼀组集合,这组集合包含:测试环境、操作步骤、测试数据、预期结果等要素 设计测试⽤例原则⼀: 测试⽤例中⼀个必需部分是对…

AI-WEB-1.0 靶机

AI-WEB-1.0 一、安装靶机环境 下载地址: https://www.vulnhub.com/entry/ai-web-1,353/ 下载压缩文件打开 开启虚拟机 二、信息收集 1.查看NAT模式IP段 编辑–>虚拟网络编辑器 御剑2014查IP 找到ip之后就访问网站 用扫描目录的工具扫描当前网站的目录 访问…

复制知乎文字内容

复制知乎文字内容 以edge浏览器为例: 以edge浏览器为例: 先点击F12(也就是鼠标右键->检查)再点击F1选择禁用Javascript 之后知乎的文字就可以正常复制了。 (注意:退出浏览器的时候记得把这一条恢复过…

XAML 热重载应用程序

XAML 热重载(Hot Reload)是一个在开发过程中提高效率的功能,它允许开发者在应用程序运行时修改 XAML 代码,而不需要重新启动应用程序。这个功能非常适合于调试和即时预览 UI 更改。以下是如何在应用程序中使用 XAML 热重载的一些基…

CVE-2022-21663: WordPress <5.8.3 版本对象注入漏洞深入分析

引言 在网络安全领域,技术的研究与讨论是不断进步的动力。本文针对WordPress的一个对象注入漏洞进行分析,旨在分享技术细节并提醒安全的重要性。特别强调:本文内容仅限技术研究,严禁用于非法目的。 漏洞背景 继WordPress CVE-2…

系统设计中15 个最重要的权衡

系统设计的第一法则:一切都与权衡有关。 在设计系统时,我们需要决定要包含哪些功能以及要忽略哪些功能。每次我们做这个决定时,我们都在进行权衡。在本文中,我们将探讨系统设计中遇到的15个最常见的权衡问题,并使用实…

第十四天学习笔记2024.7.25

Git安装 1.安装git 2.创建git仓库 3.创建文件并且提交文件 (git add . 将文件提交到缓存)(git commit -m 说明)(git log 查看历史) 4.分支创建与解决分支冲突问题 创建主机(git 192.1…

手机三要素接口怎么对接呢?(二)

一、什么是手机三要素? 手机三要素又叫运营商三要素,运营商实名认证,运营商实名核验,手机三要素实名验证,手机三要素实名核验,每个人的称呼都不同,但是入参和出参是一样的。 输入姓名、身份证…

24暑假算法刷题 | Day25 | 回溯算法 III | LeetCode 491. 非递减子序列,46. 全排列,47. 全排列 II

目录 491. 非递减子序列题目描述题解 46. 全排列题目描述题解 47. 全排列 II题目描述题解 491. 非递减子序列 点此跳转题目链接 题目描述 给你一个整数数组 nums ,找出并返回所有该数组中不同的递增子序列,递增子序列中 至少有两个元素 。你可以按 任…

MELLE: Autoregressive Speech Synthesis without Vector Quantization

2024.7MICROSOFT 文章目录 MELLE: Autoregressive Speech Synthesis without Vector Quantizationabstractmethod损失函数 Autoregressive Image Generation without Vector Quantizationabstractmethods更好的AR modelresults MELLE: Autoregressive Speech Synthesis without…

UI框架与MVC模式详解(3)——MVC\MVP\MVVM

【PDI模式】 前文中,我们详细讲解了为实现一个涉及UI的功能所必须得三者,简称PDI: Panel类:主要实现交互逻辑、显示逻辑的地方以及保存界面相关的数据的地方Data类:数据管理类,主要是业务相关的数据Inter…

小白也能轻松学的计算机网络零基础入门(附学习路线 + 计算机网络教程)

本文作者:程序员鱼皮 免费编程学习 - 编程导航网:https://www.code-nav.cn 介绍 计算机网络是指将地理位置不同的多台计算机或设备通过通信线路进行连接,从而实现信息传递和资源共享,或者组成一个更完整的计算机系统。 如今&…

【MySQL】用户管理连接池原理{数据库权限/连接池/mysql访问逻辑}

文章目录 1.普通用户的引入用户创建用户删除用户修改用户密码 2.数据库的权限给用户授权回收权限实操过程 3.简略介绍mysql连接池3.一个用户注册/登录/使用网页版mysql逻辑 1.普通用户的引入 用户 MySQL中的用户,都存储在系统数据库mysql的user表中 mysql> use…

Internet Download Manager(IDM)2024最新免费版电脑下载管理器

1. Internet Download Manager(IDM)是一款流行的下载管理软件,以其高速、稳定的下载性能著称。 2. IDM支持多线程下载,可以显著提高下载速度。 3. 该软件还具备恢复中断下载的功能,对于网络不稳定的用户非常实用。 …

蓝鹏测径仪非标定制订制流程

测径仪通常属于非标定制设备,非标定制意味着这些设备不是按照标准规格批量生产的,而是根据特定的客户需求和应用场景设计和制造的。例如,某些测径仪可能需要特殊的测量范围、精度、传感器或软件来满足特定的工业检测要求。 测径仪非标定制的…

Axure Web端元件库:构建高效互动网页的基石

在快速迭代的互联网时代,Web设计与开发不仅追求视觉上的美感,更注重用户体验的流畅与功能的强大。Axure RP,作为一款专业的原型设计工具,凭借其强大的交互设计能力和丰富的元件库,成为了众多UI/UX设计师、产品经理及前…

箱型图大揭秘!Matplotlib带你玩转数据界的‘变形金刚’

想要一窥数据深海的秘密?Matplotlib箱型图来助阵!不是魔术师,却能让数据‘箱’中显真章,异常值无所遁形。笑点低?不,是数据洞察力强!跟着这波操作,让数据可视化变得既科学又有趣&…