我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Centos7安装配置nginx

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Centos7安装配置nginx

1.前言

在进行nginx安装前,考虑到本博客针对很多新手朋友我决定还是先介绍一些nginx知识,这样更加有利于各位读者朋友对nginx的理解,对后续学习也有很大帮助。

介绍

Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器,同时也提供了 IMAP/POP3/SMTP服务。Nginx是由伊戈尔·赛索耶夫为俄罗斯访问量第二的 Rambler.ru站点(俄文:Рамблер)开发的,第一个公开版本0.1.0发布于2004 年10月4日。 其将源代码以类BSD许可证的形式发布,因它的稳定性、丰富的功能集、简单的配 置文件和低系统资源的消耗而闻名。2011年6月1日,nginx 1.0.4发布。 Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3) 代理服务器,在BSD-like 协议下发行。其特点是占有内存少,并发能力强,事实 上nginx的并发能力在同类型的网页服务器中表现较好,中国大陆使用nginx网站 用户有:百度、京东、新浪、网易、腾讯、淘宝等。

版本

常用的nginx版本分为四大阵营,小编这里就给大家简单介绍

1. Nginx开源版(我们将要安装的版本) 官网链接

干净纯粹,而且还是免费的,是我们将要用来学习的版本
在这里插入图片描述

2.Nginx plus 商业版 官网链接

在开源版本的基础上进项强化,增加功能,当然体积也更大了,但是提供了很多好用的功能,尤其是对微服务的整合,和云原生的整合,还有现在比较流行的K8s,都有一个比较好的整合效果,当然这个是商业版本需要付费的。
在这里插入图片描述

3.Openresty 官网链接

这是一个免费开源的版本,专栏后续会讲解到,感兴趣的朋友不妨点个关注。这个版本主要是把nginx和lua脚本进行一个完美的整合,在拥有高性能的同时,又没有增加开发的难度。而且官网是中文的对于我们国人学习起来也会方便很多。
在这里插入图片描述

4.Tengine 官网链接

这也是一个免费开源的nginx版本,目前比较主流。以模块化的方式增强,性能高,更安全,更稳定。同时官网也是中文的,更多详细信息大家可以参考官网。后续专栏也会更新到,有兴趣的读者朋友可以点个订阅
在这里插入图片描述

2.安装Nginx

本篇博客是基于专栏上一篇博客搭建的环境进行安装教程,有兴趣的读者朋友可以看一下我的上一篇博客,讲解虚拟化,虚拟机的运行构架,同时也详细记录了虚拟机安装centos的详细过程。博客链接

安装方法

本篇博客演示的nginx的安装方法是 源码编译安装

1.源码编译安装

在安装nginx之前我们需要准备好安装nginx的安装环境,下面的安装环境根据个人系统环境而定,没有安装的要进行安装。

(1).首先安装nginx要有gcc的环境,可以使用以下命令进行安装。

$ yum install -y gcc

gcc 可以编译 C,C++,Ada,Object C和Java等语言(安装 nginx 需要先将官网下载的源码进行编译,编译依赖 gcc 环境)

如果没有安装gcc环境直接进行安装nginx会报以下错误

checking for OS + Linux 3.10.0-693.el7.x86_64 x86_64 checking for C compiler ... not found  ./configure: error: C compiler cc is not found

(2).还有第三方库 pcre-devel 可以用以下命令进行安装

$ yum install -y pcre pcre-devel

PCRE(Perl Compatible Regular Expressions)是一个Perl库,包括 perl 兼容的正则表达式库。nginx的http模块使用pcre来解析正则表达式,所以需要在linux上安装pcre库。
注: pcre-devel是使用pcre开发的一个二次开发库。nginx也需要此库。

如果没有安装 pcre pcre-devel 直接进行安装nginx会报以下错误

./configure: error: the HTTP gzip module requires the zlib library.You can either disable the module by using --without-http_gzip_moduleoption, or install the zlib library into the system, or build the zlib library statically from the source with nginx by using --with-zlib=<path> option.

(3).还有第三方库 zlib 可以用以下命令进行安装

$ yum install -y zlib zlib-devel

zlib-devel zlib库提供了很多种压缩和解压缩方式nginx使用zlib对http包的内容进行gzip,所以需要安装

安装好上面的环境我们就可以开始进行nginx的安装了

(1)下载包

可以在nginx的官网下载nginx的安装包 下载地址 下载后上传到虚拟机
2.也可以使用 wget 使用以下命令进行下载
3.这里小编给大家提供了一个nginx安装包 点击跳转百度网盘 下载后上传到虚拟机

// 使用前要确保系统已经安装了wget// 如果没有则执行 yum -y install wget 进行安装$ wget https://nginx.org/download/nginx-1.21.6.tar.gz

(2)解压安装

使用以下命令对下载好的压缩包进行解压

$ tar zxvf nginx-1.21.6.tar.gz

再使用以下命令进入到解压好的目录中

$ cd nginx-1.21.6

然后再使用以下命令开始安装nginx

$ ./configure --prefix=/usr/local/nginx  // /usr/local/nginx 指定的安装目录

再执行以下两条命令进行编译

$ make$ make install

(3) 启动ngxin

使用以下命令进入到安装目录的sbin目录

$ cd /usr/local/nginx/sbin

然后就可以使用以下命令进行ngxin的操作

$ ./nginx    //启动nginx$ ./nginx -s stop //停止nginx$ ./nginx -s quit     //优雅的关闭,在退出前完成已经接受的连接请求$ ./nginx -s reload // 重新加载nginx配置

(4) 启动和端口问题

因为nginx启动需要占用tcp协议的80端口, 这样我们在浏览器才能通过虚拟机ip地址访问ngin的服务,所以我们要保证防火墙开放了虚拟机的80端口,以下命令可以以对防火墙进行操作

$ firewall-cmd --state  // 查看防火墙状态$ systemctl stop firewalld.service  // 关闭防火墙(不推荐使用)$ systemctl disable firewalld.service  // 阻止防火墙开机启动$ firewall-cmd --reload // 重启防火墙$ firewall-cmd --zone=public --list-ports // 查看防火墙所有开放的端口$ firewall-cmd --permanent --zone=public --remove-port=80/tcp // 关闭80端口

在启动nginx之前 我们要执行以下两条命令

$ firewall-cmd --zone=public --add-port=80/tcp --permanent  // 放行防火墙80端口(–permanent永久生效,没有此参数重启后失效)$ firewall-cmd --reload // 重启防火墙

之后我们就可以使用以下命令启动ngxin服务

$ ./nginx  // 启动nginx服务 后台启动

(5) 一些常用命令

$ ./nginx    // 启动nginx$ ./nginx -s stop // 停止ngxin$ ./nginx -s quit     // 优雅的关闭nginx,在退出前完成已经接受的连接请求$ ./nginx -s reload // 重新加载ngxin配置$ ./nginx -s reopen             // 打开nginx日志文件$ ./nginx -t                    // 检测配置文件是否有语法错误$ ./nginx -v                    // 显示版本信息$ ./nginx -c [配置文件路径]      // 指定配置文件$  killall nginx                // 杀死所有nginx的进程$ ps -aux | grep nginx          // 查看nginx的进程

接下来我们就可以使用虚拟机ip地址访问ngxin的默认页面(占用80端口)
可以看到nginx的默认页面已经呈现在浏览器
在这里插入图片描述

3.将nginx安装成系统服务

上面我们只是将nginx启动,当我们重启虚拟机后nginx将会是关闭状态,且为了简化我们启动nginx的步骤,我们可以将nginx安装成系统服务这样不仅可以设置开机启动,而且给我们操作nginx带来了极大的便利。

(1) 创建服务脚本

使用以下命令在/usr/lib/systemd/system下创建并编辑nginx的服务脚本

$ vi /usr/lib/systemd/system/nginx.service

将以下内容添加到刚刚创建好的脚本中 注意路径

[Unit]Description=nginx - web serverAfter=network.target remote-fs.target nss-lookup.target[Service]Type=forkingPIDFile=/usr/local/nginx/logs/nginx.pidExecStartPre=/usr/local/nginx/sbin/nginx -t -c /usr/local/nginx/conf/nginx.confExecStart=/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.confExecReload=/usr/local/nginx/sbin/nginx -s reloadExecStop=/usr/local/nginx/sbin/nginx -s stopExecQuit=/usr/local/nginx/sbin/nginx -s quitPrivateTmp=true[Install]WantedBy=multi-user.target

添加完后建议执行以下命令设置一下配置文件的权限

$ chmod 755 /usr/lib/systemd/system/nginx.service

修改好后执行以下命令重新加载一下系统服务

$ systemctl daemon-reload

使用以下命令启动我们刚刚安装好的nginx服务

$ systemctl start nginx.service

将创建好的服务设置为开机启动

$ systemctl enable nginx.service

这样即使我们重启虚拟机,这个nginx服务也会自动打开。

建议此时将虚拟机重启一下 进行测试

(2) 常用命令

$ systemctl start nginx.service // 启动nginx服务$ systemctl stop nginx.service  // 停止nginx服务$ systemctl restart nginx.service // 重启nginx服务$ systemctl reload nginx.service // 重载nginx服务 (推荐使用)$ systemctl status nginx.service  // 查看nginx状态$ systemctl enable nginx.service // 设置为开机启动nginx服务

4.一些小bug

当小编安装好nginx后,重启虚拟机,竟然发现远程连接工具连接不上了,使用ip addr 命令发现没有分配到ip ,但是小编之前是配置过网卡配置文件的。 小编相关博客
于是小编使用以下命令进入到网卡配置文件目录中

$ cd /etc/sysconfig/network-scripts

使用 ls 命令 发现竟然多了一个配置文件(果然如我所料) 多了个 ifcfg-ens33.BCK4m_ 的网卡配置文件
在这里插入图片描述
于是小编使用以下命令删除这个多余的配置文件

$ rm -f ifcfg-ens33.BCK4m_

再使用以下命令重启一下虚拟机网络服务

$ systemctl restart network

再使用 ip addr 命令 发现网络服务已经恢复正常了 小小bug也敢跟小编动手 这时查看nginx的状态也正常
在这里插入图片描述

5.结尾

这是小编的第四篇博客,感觉写博客的过程也学到了很多东西,而且还有一种成就感,确实是一种学习的好方法。推荐各位读者朋友也可以试试,关于文章最后的那个小bug小编并没有去深入研究,要是有知道为什么会有这个bug的读者朋友可以在评论区指出来大家一起学习成长,目前写的都是一些比较基础的博客。相信后续会给大家带来更好更优质的文章,期待的话不妨给小编点个订阅,谢谢大家!!!
在这里插入图片描述

来源地址:https://blog.csdn.net/Siebert_Angers/article/details/126960866

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Centos7安装配置nginx

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

CentOS7中怎么安装和配置Nginx服务器

要在CentOS7上安装和配置Nginx服务器,可以按照以下步骤进行:更新系统包:sudo yum update安装Nginx:sudo yum install nginx启动Nginx服务:sudo systemctl start ngi
CentOS7中怎么安装和配置Nginx服务器
2024-04-09

Centos7下nginx的安装与配置教程详解

说明:软件安装的基础目录路径:/usr/local 所以下载软件的时候切换到此目录下下载直接解压即可 1.安装gcc gcc-c++依赖包 yum install -y gcc gcc-c++ 2.下载编译安装PCRE库 切换到usr/lo
2022-06-04

Ubuntu20.04安装配置Nginx

由于在学习配置时,网上的教程比较杂乱,用时很久才做好一些基础配置,把流程记录一下方便和我一样的小白学习 本文写于2023.2.10,如果间隔太久,下述内容可能会失效,请另寻教程 仅包含基础教程,个人服务未涉及到负载均衡 安装ngin
2023-08-20

Nginx如何安装配置

这篇文章主要介绍“Nginx如何安装配置”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Nginx如何安装配置”文章能帮助大家解决问题。简介Nginx 的安装:# CentOSyum install
2023-07-02

nginx怎么安装配置

这篇文章主要讲解了“nginx怎么安装配置”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“nginx怎么安装配置”吧!一、服务器基础配 置远程链接服务器ssh 用户名@公网ip默认的用户名是r
2023-06-29

CentOS7安装配置mysql5.7 tar免安装版

一、CentOS7.4系统自带mariadb # 查看系统自带的Mariadb[root@localhost~]# rpm -qa|grep mariadbmariadb-libs-5.5.44-2.el7.centos.x86_64# 卸载系统自带的Mari
CentOS7安装配置mysql5.7 tar免安装版
2020-07-13

CentOS7怎么安装配置Reids

这篇文章将为大家详细讲解有关CentOS7怎么安装配置Reids,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。安装设置 下载tar包:wget -c http://download.redis.io/re
2023-06-10

MacOS下安装和配置Nginx

一、安装brew /bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)" 按回车后,根据提示操作:输入镜像序号 输入Y,
2023-08-24

Nginx的安装配置介绍

这篇文章主要介绍“Nginx的安装配置介绍”,在日常操作中,相信很多人在Nginx的安装配置介绍问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Nginx的安装配置介绍”的疑惑有所帮助!接下来,请跟着小编一起来
2023-06-04

Nginx安装与配置详解

Nginx负载均衡集群 一、Nginx简介1、nginx介绍2、反向代理2.1 什么是代理服务器?2.2 为什么要使用代理服务器?2.3 反向代理 VS 正向代理 3、负载均衡3.1 什么是负载均衡? 二、Nginx
2023-08-21

CentOS7如何安装配置Apache Web

这篇文章主要讲解了“CentOS7如何安装配置Apache Web”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“CentOS7如何安装配置Apache Web”吧!Apache Web 服务
2023-06-27

在CentOS7中安装和配置ssh

1. 安装openssh-serveAxekLHhOryum install -y openssl openssh-server2. 修改配置文件 用vim打开配置文件/etc/ssh/sshd_c
2022-06-04

安装配置gunicorn和NGINX的

博客写得差不多了,打算部署到云上因为速度的关系,不打算部署在AWS上,于是申请了阿里云,环境是上篇文章提到的CentOS 7 64位安装和配置好Python3和MySQL,又稍微了解点web服务器的知识后,打算按这里的方法进行部署,思路是用
2023-01-31

编程热搜

目录