【Linux】CentOS7操作系统安装nginx实战(多种方法,超详细)

news/2024/11/14 20:13:55/

文章目录

  • 前言
  • 一. 实验环境
  • 二. 使用yum安装nginx
    • 2.1 添加yum源
      • 2.1.1 使用官网提供的源地址(方法一)
      • 2.1.2 使用epel的方式进行安装(方法二)
    • 2.2 开始安装nginx
    • 2.3 启动并进行测试
    • 2.4 其他的一些用法:
  • 三. 编译方式安装nginx
    • 3.1 下载所需要的包
    • 3.2 创建目录并解压nginx包
    • 3.3 安装编译需要的包
    • 3.4 安装并测试
    • 3.5 简化默认的启动方式
  • 四. 拓展内容
    • 4.1 编译安装完nginx的配置文件位置
    • 4.2 配置访问状态统计
  • 总结

前言

大家好,又见面了,我是沐风晓月,本文是专栏【运维系列-架构与服务】专栏中的[linux基本功-系统服务实战篇],主要讲解nginx的编译安装和yum安装的方式

此专栏是沐风晓月对Linux常见的服务和架构进行总结,希望能够加深自己的印象,以及帮助到其他的小伙伴😉😉。

如果文章有什么需要改进的地方还请大佬不吝赐教👏👏。

🏠个人主页:我是沐风晓月
🧑个人简介:大家好,我是沐风晓月,双一流院校计算机专业,阿里云社区专家博主😉😉
💕 座右铭: 先努力成长自己,再帮助更多的人 ,一起加油进步🍺🍺🍺
💕欢迎大家:这里是CSDN,我总结知识的地方,喜欢的话请三连,有问题请私信😘

一. 实验环境

本次的实验环境见下表:

操作系统服务器IPhostname
centos7.6192.168.1.41mufengrow41

如何查看相应的参数:

  • 查看操作系统:
[root@mufenggrow ~]# cat /etc/redhat-release 
CentOS Linux release 7.6.1810 (Core) 
  • 查看ip
[root@mufenggrow41 ~]# ifconfig |grep inet |awk 'NR==1{print $2}'
192.168.1.56

二. 使用yum安装nginx

2.1 添加yum源

nginx不在的默认的yum源中, 可以使用epel或者官网提供的yum源来安装。

以下两种方法,选择任意一种即可,也就是2.1.1和2.1.2两个小节的内容,任选其一:

2.1.1 使用官网提供的源地址(方法一)

  1. 找到官网的源

官网提供的源地址:http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm

在这里插入图片描述

  1. 使用rpm -ivh 进行安装
[root@mufeng ~]# rpm -ivh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
获取http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
警告:/var/tmp/rpm-tmp.DRyoO4: 头V4 RSA/SHA1 Signature, 密钥 ID 7bd9bf62: NOKEY
准备中...                          ################################# [100%]
正在升级/安装...1:nginx-release-centos-7-0.el7.ngx ################################# [100%]
  1. 安装完成之后查看源:
    在这里插入图片描述

2.1.2 使用epel的方式进行安装(方法二)

  1. 先安装epel
[root@mufeng ~]# sudo yum install yum-utils
  1. 安装完成后,查看安装的epel包即可
yum install epel

2.2 开始安装nginx

上面的两个方法不管选择哪个,都可以使用yum进行安装:

[root@mufeng ~]# yum install nginx

2.3 启动并进行测试

# 查看nginx版本
[root@mufeng ~]# nginx -v
nginx version: nginx/1.22.1
# 设置开机自启动
[root@mufeng ~]# systemctl enable nginx
Created symlink from /etc/systemd/system/multi-user.target.wants/nginx.service to /usr/lib/systemd/system/nginx.service.# 启动nginx
[root@mufeng ~]# systemctl start nginx
[root@mufeng ~]# 

测试 :
直接访问IP即可:
在这里插入图片描述

2.4 其他的一些用法:

  • 停止服务:
 systemctl restart nginx
  • 重新加载nginx
systemctl reload nginx
  • 打开防火墙的80端口:
[root@mufeng ~]# firewall-cmd --zone=public --permanent --add-service=http 
success
[root@mufeng ~]# firewall-cmd --reload
success
[root@mufeng ~]# 

命令的作用是将 http 服务添加到 public 区域的永久规则中,即允许通过防火墙访问 http 服务。

其中,
–zone=public 指定了作用的区域为 public
–permanent 表示该规则将被永久保存
–add-service=http 指定添加的服务为 http

三. 编译方式安装nginx

3.1 下载所需要的包

nginx 包下载地址: http://nginx.org/en/download.html

[root@mufeng ~]# wget http://nginx.org/download/nginx-1.22.1.tar.gz

在这里插入图片描述

3.2 创建目录并解压nginx包

root@mufeng ~]# ls
anaconda-ks.cfg  initial-setup-ks.cfg  nginx-1.22.1.tar.gz  公共  模板  视频  图片  文档  下载  音乐  桌面
[root@mufeng ~]# mkdir tools
[root@mufeng ~]# mv nginx-1.22.1.tar.gz tools/
[root@mufeng ~]# cd tools/
[root@mufeng tools]# tar xf nginx-1.22.1.tar.gz 
[root@mufeng tools]# ls
nginx-1.22.1  nginx-1.22.1.tar.gz
[root@mufeng tools]# cd nginx-1.22.1/
[root@mufeng nginx-1.22.1]# ls
auto  CHANGES  CHANGES.ru  conf  configure  contrib  html  LICENSE  man  README  src
[root@mufeng nginx-1.22.1]# 

3.3 安装编译需要的包

一般编译都需要gcc,如果没有会报错

root@mufeng nginx-1.22.1]# make && make install
./configure --prefix=/usr/local/nginx --with-http_ssl_module --with-http_stub_status_module --with-pcre

这里指定了 nginx 的安装路径为 /usr/local/nginx,同时启用了 SSL 和状态监控模块。

在编译 Nginx 时,可以使用 ./configure --help 命令来查看可以使用的编译选项

3.4 安装并测试

使用make和make install进行安装

[root@mufeng nginx-1.22.1]# make && make install

开始测试:浏览器输入IP:

在这里插入图片描述

3.5 简化默认的启动方式

默认的操作方式,比如查看配置文件是否正确:

[root@mufeng nginx-1.22.1]# /usr/local/nginx/sbin/nginx -t
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful

我们使用软链接或者alias的形式来简化,这里我们使用软链接:

[root@mufeng nginx-1.22.1]# ln -s /usr/local/nginx/sbin/nginx /usr/bin/nginx[root@mufeng nginx-1.22.1]# nginx -t
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
[root@mufeng nginx-1.22.1]# 

启动方式:

[root@mufeng nginx-1.22.1]# nginx

重新加载方式:

[root@mufeng nginx-1.22.1]# nginx -s reload

关闭的话只能通过杀死进程了:

在这里插入图片描述

四. 拓展内容

4.1 编译安装完nginx的配置文件位置

  • conf: /usr/local/nginx , 存放 nginx 的配置文件,nginx.conf 是 nginx 服务最核心最主要的配置文件。

  • html:/usr/local/nginx,保存 ningx 服务器的 web 文件。也可以更改为其他目录保存 web 文件。

  • logs: /var/logs/nginx,保存 ningx 服务器的访问日志、错误日志等日志。

  • sbin: /usr/local/nginx,保存 nginx 二进制启动脚本。可以接受不同参数以实现不同的功能。

在这里插入图片描述

如果启动或者重启的过程中报错,可以查看logs中的日志。

4.2 配置访问状态统计

我们在编译的时候添加了 –with-http_stub_status_module这个模块,你可以使用nginx -V查看是否包含这个模块。
在这里插入图片描述

然后修改配置文件:

[root@mufeng nginx]# vim /usr/local/nginx/conf/nginx.conf

在这里插入图片描述
代码如下:

 location / {root   html;index  index.html index.htm;}
location /status {stub_status on;access_log off;}

查看配置文件是否正确

[root@mufeng nginx]# nginx -t
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful

重启:

nginx -s reload

测试:

在这里插入图片描述

可以看到: 当前的活动连接数为3个
554 表示: 已处理的连接数为5, 成功的TCP握手次数为5, 已处理的请求数为1

总结

以上就是使用centos7操作系统安装nginx实战,欢迎点赞收藏哦。

💕💕💕 好啦,这就是今天要分享给大家的全部内容了,我们下期再见!✨ ✨ ✨
🍻🍻🍻如果你喜欢的话,就不要吝惜你的一键三连了~


http://www.ppmy.cn/news/30127.html

相关文章

博客系统程序(页面设计)

咱们学习javaEE的目的就是完成一个网站.在当前学习的基础上,已经可以完成我们的博客系统的页面的设计了!!!首先我们要进行统筹规划:首先我们的博客页面将会有4个页面:1.博客列表页2.博客详情页显示一个博客的具体内容:3.登录页就是用户输入用户名和页面的地方4.博客编辑页发布新…

ios 通过搜索设备MAC地址绑定

最近做了一个物联网项目,涉及到了设备绑定这块,需要了解一下iOS BLE与设备绑定的相关知识点,第一次接触蓝牙相关的项目,所以开始熟悉蓝牙的相关信息。没有去深入研究BabyTooth库,只是感觉CoreBluetooth已经让我更好的理解整个流程这个物联网项目的设备绑定流程是需要…

python日志模块,loggin模块

python日志模块,loggin模块loggin模块日志的格式处理器种类日志格式的参数使用loggin模块 logging库采用模块化方法,并提供了几类组件:记录器,处理程序,过滤器和格式化程序。 记录器(Logger)&a…

[C++]vector模拟实现

目录 前言: 1. vector结构 2. 默认成员函数 2.1 构造函数 无参构造: 有参构造: 有参构造重载: 2.2 赋值运算符重载、拷贝构造(难点) 2.3 析构函数: 3. 扩容 3.1 reserve 3.2 resize…

【C++】类和对象补充知识点

🏖️作者:malloc不出对象 ⛺专栏:C的学习之路 👦个人简介:一名双非本科院校大二在读的科班编程菜鸟,努力编程只为赶上各位大佬的步伐🙈🙈 目录前言一、再谈构造函数1.1 构造函数体赋…

解析MySQL 8.0 OCP(1Z0-908)考试中一道大部分同学都会做错的题目

一个用户有下面的权限: mysql>SHOW GRANTS FOR jsmith;---------------------------------------------------------------------- | Grants for jsmith% | ----------------------------------------------------------…

【Linux】P4 Linux 权限 chmod chown

Linux 权限认知权限信息chmod 修改权限chown 修改用户与用户组认知权限信息 序号1:文件、文件夹权限控制信息; 权限控制信息一共有十位 第 1 位: - 表示文件,d 表示文件夹,l 表示软链接 第 2~4 位: 所属用…

MATLAB——数据及其运算

MATLAB数值数据数值数据类型的分类1.整型整型数据是不带小数的数,有带符号整数和无符号整数之分。表中列出了各种整型数据的取值范围和对应的转换函数。2.浮点型浮点型数据有单精度(single)和双精度((double)之分&…