Centos7 编译安装Nginx

article/2025/9/25 21:58:14

文章目录

  • 前言
  • 一、编译安装nginx
  • 二、编译安装过程
    • 1.操作系统的选择,centos7
      • 1.1关闭防火墙、selinux
    • 2.安装编译开发环境
      • 2.1安装nginx所需的一些第三方系统库的支持
    • 3.编译安装nginx
      • 3.1下载nginx源代码
      • 3.2解压缩nginx包,并进入该目录
      • 3.3开始编译安装
      • 3.4查看安装后的nginx目录
    • 4.启动并访问nginx
      • 4.1将 nginx 添加到全局变量中
      • 4.2检查nginx的编译安装信息
      • 4.3启动nginx
      • 4.4通过命令行终端访问nginx
      • 4.5通过浏览器访问nginx
  • 总结


前言

nginx以高效的linux网络模型,epoll,event作为网络IO模型,kqueue,在高并发网站情况下,nginx能够轻松支持5w+的并发流量,并且消耗的服务器内存,cpu等资源,也是很低的,运行起来非常稳定。


一、编译安装nginx

在Linux系统中,软件的安装方式有两种:

  • 包管理安装
  • 编译安装

编译安装是指用户自己下载软件源代码,然后自己编译、配置、安装的安装方式。编译安装的优点是可以自定义编译选项,可以实现对软件的个性化定制,而缺点是安装过程相对复杂,需要手动编译、配置、安装,并且需要自己处理依赖关系。Nginx是一款高性能的Web服务器,可以作为反向代理服务器或负载均衡服务器使用。在Linux系统中,可以通过包管理器安装Nginx,也可以使用编译安装的方式安装Nginx。下面是关于编译安装Nginx的相关信息。

二、编译安装过程

1.操作系统的选择,centos7

代码如下:

[root@hmiking ~]# cat /etc/redhat-release 
CentOS Linux release 7.6.1810 (Core) 
[root@hmiking ~]# uname -a
Linux hmiking 3.10.0-957.el7.x86_64 #1 SMP Thu Nov 8 23:39:32 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux

1.1关闭防火墙、selinux

代码如下:

[root@hmiking ~]# systemctl disable --now firewalld
[root@hmiking ~]# setenforce 0
setenforce: SELinux is disabled
[root@hmiking ~]# getenforce 
Disabled

2.安装编译开发环境

代码如下:

[root@hmiking ~]# yum install -y gcc gcc-c++ autoconf automake make

2.1安装nginx所需的一些第三方系统库的支持

代码如下:

[root@hmiking ~]# yum install zlib zlib-devel openssl openssl-devel pcre pcre-devel wget httpd-tools vim -y

3.编译安装nginx

3.1下载nginx源代码

代码如下:

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

3.2解压缩nginx包,并进入该目录

代码如下:

[root@hmiking ~]# tar xf nginx-1.17.10.tar.gz
[root@hmiking ~]# cd nginx-1.17.10
[root@hmiking nginx-1.17.10]# ll					    #查看目录下有哪些内容
total 760
drwxr-xr-x 6 mysql mysql    326 Mar  6 23:39 auto		# 检测系统模块依赖信息
-rw-r--r-- 1 mysql mysql 302754 Apr 14  2020 CHANGES	# 存放nginx的变化记录日志
-rw-r--r-- 1 mysql mysql 462076 Apr 14  2020 CHANGES.ru
drwxr-xr-x 2 mysql mysql    168 Mar  6 23:39 conf		# 存放nginx主配置文件的目录
-rwxr-xr-x 1 mysql mysql   2502 Apr 14  2020 configure	# 可执行的脚本,用于编译文件的定制脚本
drwxr-xr-x 4 mysql mysql     72 Mar  6 23:39 contrib	# 提供了vim插件,让配置文件颜色区分,更友好
drwxr-xr-x 2 mysql mysql     40 Mar  6 23:39 html		# 存放了标准的html页面文件
-rw-r--r-- 1 mysql mysql   1397 Apr 14  2020 LICENSE
drwxr-xr-x 2 mysql mysql     21 Mar  6 23:39 man
-rw-r--r-- 1 mysql mysql     49 Apr 14  2020 README
drwxr-xr-x 9 mysql mysql     91 Mar  6 23:39 src		# 存放了nginx源代码的目录

3.3开始编译安装

代码如下:

# 进入软件源代码目录,执行编译脚本文件,如指定安装路径,以及开启额外功能等
[root@hmiking nginx-1.17.10]# mkdir /usr/local/nginx
[root@hmiking nginx-1.17.10]# ./configure --prefix=/usr/local/nginx \
--with-http_ssl_module \
--with-http_flv_module \
--with-http_gzip_static_module \
--with-http_stub_status_module \
--with-threads \
--with-file-aio && make && make install

3.4查看安装后的nginx目录

代码如下:

[root@hmiking nginx-1.17.10]# cd /usr/local/nginx/
[root@hmiking nginx]# ls
conf	html	logs   sbin# conf 存放nginx的配置文件,如 nginx.conf
# html 存放nginx的网页根目录文件,存放站点的静态文件数据
# logs 存放nginx的各种日志目录
# sbin 存放该软件的可执行命令

4.启动并访问nginx

4.1将 nginx 添加到全局变量中

代码如下:

# 可以通过软链接到/usr/local/sbin/ 目录下
[root@hmiking nginx]# ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin# 此时可以快捷的使用nginx各种指令
nginx						# 首次直接输入nginx,表示启动该进程

4.2检查nginx的编译安装信息

代码如下:

[root@hmiking nginx]# nginx -V
nginx version: nginx/1.17.10
built by gcc 4.8.5 20150623 (Red Hat 4.8.5-44) (GCC) 
built with OpenSSL 1.0.2k-fips  26 Jan 2017
TLS SNI support enabled
configure arguments: --prefix=/usr/local/nginx --with-http_ssl_module --with-http_flv_module --with-http_gzip_static_module --with-http_stub_status_module --with-threads --with-file-aio

4.3启动nginx

代码如下:

# 启动nginx
[root@hmiking ~]# nginx# 查看nginx进程
[root@hmiking ~]# ps -ef | grep nginx | grep -v grep
root      27314      1  0 01:28 ?        00:00:00 nginx: master process nginx
nobody    27315  27314  0 01:28 ?        00:00:00 nginx: worker process

4.4通过命令行终端访问nginx

代码如下:

[root@hmiking ~]# curl localhost
<!DOCTYPE html>
<html>
<head>
<title>Welcome to nginx!</title>
<style>body {width: 35em;margin: 0 auto;font-family: Tahoma, Verdana, Arial, sans-serif;}
</style>
</head>
<body>
<h1>Welcome to nginx!</h1>
<p>If you see this page, the nginx web server is successfully installed and
working. Further configuration is required.</p><p>For online documentation and support please refer to
<a href="http://nginx.org/">nginx.org</a>.<br/>
Commercial support is available at
<a href="http://nginx.com/">nginx.com</a>.</p><p><em>Thank you for using nginx.</em></p>
</body>
</html>

4.5通过浏览器访问nginx

在这里插入图片描述

总结

提示:本文仅供学习和参考,欢迎关注我的博客,以及我的博客网站。


http://chatgpt.dhexx.cn/article/QKedUAH2.shtml

相关文章

Ubuntu 编译安装Nginx

文章目录 1. apt安装2. 编译安装2.1 启动Nginx 3. 防火墙问题 1. apt安装 # 默认版本安装 apt-get update apt-get install nginx# 选择版本安装 apt-get update apt-cache show nginx apt-get install nginx1.18.0-0ubuntu1.3# 启动 service nginx start# 重启 service nginx…

nginx 编译安装及增加模块

一&#xff0c;安装依赖 yum -y install gcc gcc-c pcre pcre-devel zlib zlib-devel openssl openssl-devel path二&#xff0c;下载nginx 通过nginx官网下载源码包&#xff1a;http://nginx.org/en/download.html 下载完后通过tar-zxf解压&#xff0c;并进入nginx 三&…

淘宝nginx编译安装

rootrancher:/opt/tnginx# ls -l -d -h * drwxrwxr-x 13 root root 4.0K 3月 29 2021 tengine-2.3.3 -rw-r--r-- 1 root root 2.8M 3月 21 10:03 tengine-2.3.3.tar.gz获取一个包&#xff0c;然后吧他解压 源代码内编辑脚本文件 编译安装需要用到的&#xff0c;编译工具 …

Nginx编译安装及配置文件详解

写在前面 Centos版本&#xff1a;Centos 7.6 - 64bit Nginx版本&#xff1a;1.20.2 一、什么是Nginx Nginx (engine x) 是一款轻量级的Web 服务器 、反向代理服务器及电子邮件&#xff08;IMAP/POP3&#xff09;代理服务器。 二、Nginx用在哪些地方 2.1 静态资源服务 动静…

3-1 Nginx编译安装

文章目录 Nginx服务一、Nginx服务基础1、Nginx简介2、简述Nginx和Apache的差异3、编译安装Nginx服务&#xff08;Nginx-1.12.2&#xff09;1&#xff09;环境准备&#xff1a;关闭防火墙&#xff0c;上传软件包2&#xff09;安装依赖环境3&#xff09;创建运行用户、组4&#x…

Nginx编译安装与配置

目录 引言 一、Nignx简介 二、简述Nginx和Apache的差异 三、编译安装Nginx服务 四、新版本升级 五、添加 Nginx 系统服务 六、基于域名的 Nginx 虚拟主机 七、基于IP 的 Nginx 虚拟主机 八、基于端口的 Nginx 虚拟主机 九、Nginx服务的主配置文件 &#xff08;1&am…

Nginx编译安装

1. 停止原有的web服务器&#xff1a;端口默认均是80 2. 添加普通用户账号运行nginx useradd -M -s /sbin/nologin nginx3. 解压并安装nginx tar xf nginx-1.8.1.tar.gzcd ngxin-1.8.1/./configure --prefix/usr/local/nginx --usernginx --groupnginx --with-http_stub_stat…

Nginx网站服务

文章目录 一.编译安装Nginx服务(一)认识Nginx服务的主配置文件(二)日志格式设定&#xff08;三&#xff09;访问状态统计配置(四)基于授权的访问控制(五)基于客户端的访问控制 二.域名主机的访问&#xff08;一&#xff09;基于域名的Nginx虚拟主机(二)基于IP的Nginx虚拟主机(三…

Nginx的安装---编译安装

编译安装 1、安装编译环境 yum -y install gcc gcc-c make ncurses ncurses-devel2、安装pcre软件包&#xff08;使nginx支持http rewrite模块&#xff09; yum install -y pcre pcre-devel3、安装openssl-devel&#xff08;使nginx支持ssl&#xff09; yum install -y ope…

2021年计算机保研面试题

准备计算机保研面试题 注意点 大家都是第一次~~~ 没有保研经验&#xff0c;所以担心会被问专业课知识相关的东西。但是结合博主自己的经历&#xff0c;本人双非保到某985&#xff0c;过程中问的最多的是项目相关问题&#xff0c;并不会设计太多专业课问题&#xff0c;问的话也…

linux 网络 sk_buff结构

一、简介 sk_buff的意思是socket buffer&#xff0c;这是Linux网络子系统中的核心数据结构。 定义在 <include/linux/skbuff.h> 中&#xff0c;它由许多变量组成&#xff0c;目标就是满足所有网络协议的需要。 sk_buff 在不同的网络层被使用&#xff08;MAC 或其他在 L…

梳理50道经典计算机网络面试题

我梳理了50道计算机网络面试题&#xff0c;每一道题目都特别经典&#xff0c;大厂也非常喜欢问。相信大家看完&#xff0c;会有新的收获滴~ 1. 说说HTTP常用的状态码及其含义&#xff1f; 思路: 这道面试题主要考察候选人&#xff0c;是否掌握HTTP状态码这个基础知识点。 不管是…

24 张图总结 TCP 基础知识,看完我飘了。

TCP 是一种面向连接的单播协议&#xff0c;在 TCP 中&#xff0c;并不存在多播、广播的这种行为&#xff0c;因为 TCP 报文段中能明确发送方和接受方的 IP 地址。 在发送数据前&#xff0c;相互通信的双方&#xff08;即发送方和接受方&#xff09;需要建立一条连接&#xff0…

【随机过程】19 - 随机过程的线性预测问题

随机过程的线性预测问题 文章目录 随机过程的线性预测问题1. 随机过程的估计问题概述1.1 预测问题1.2 内插问题1.3 滤波问题 2. 随机过程的可预测性2.1 新息过程2.1.1 信息过程的定义2.1.2 估计的子空间分解2.1.3 新息过程的性质 2.2 随机过程的正则性与奇异性2.2.1 正则性和奇…

计算机网络传输层测试

一 单项选择题 1.下列选项中&#xff0c;&#xff08; D &#xff09;是用于传输层寻址的。 A.MAC地址 B.IPv4地址 C.IPv6地址 D.端口 解析&#xff1a;传输层对主机上的不同网络进程进行了编号&#xff0c;用不同的数字区分不同的网络进程。传输层标识网络进程的数字称为传…

上岸阿里了

大家好&#xff0c;我是老王&#xff0c;收到来自近期成功上岸的粉丝分享的阿里面试真题&#xff0c;分享给大家参考下&#xff0c;希望大家看完成功面试上大厂Offer。 01.薪资体系 新技术用到的也很多&#xff0c;也是很多人想要进入的大厂备选之一。 阿里的薪资结构&#xf…

2W字!梳理50道经典计算机网络面试题(收藏版)

1. 说说HTTP常用的状态码及其含义&#xff1f; 思路: 这道面试题主要考察候选人&#xff0c;是否掌握HTTP状态码这个基础知识点。 不管是不是面试需要&#xff0c;我们都要知道&#xff0c;日常开发中的这几个状态码的含义哈&#xff1a; 2. HTTP 常用的请求方式&#xff0c;区…

Netty 单机百万连接测试

1.Netty框架简介 1.1.Netty简介 netty是jboss提供的一个java开源框架&#xff0c;netty提供异步的、事件驱动的网络应用程序框架和工具&#xff0c;用以快速开发高性能、高可用性的网络服务器和客户端程序。也就是说netty是一个基于nio的编程框架&#xff0c;使用netty可以快…

LPCNET: 通过线性预测改进神经语音合成

LPCNET: 通过线性预测改进神经语音合成 摘要索引词 -- 神经音频合成 参数编码 WaveRNN 1.导言2.WAVERNN3.LPCNET3.1条件参数3.2 预加重和量化3.3 线性预测3.4 输出层3.5 稀疏矩阵3.6 嵌入和代数简化3.7 从概率分布中抽取样本3.8 训练噪声注入 4. 评估4.1 复杂度4.2 实验设置4.3…

TCP拥塞机制学习

TCP拥塞机制学习 写在前面 很早就想总结一下tcp方面的知识了&#xff0c;心动不如行动&#xff0c;这一块面试重点&#xff0c;而其也是coder的必修课。 一、TCP头部报文格式 了解任何一个协议都要从它的协议报文开始&#xff0c;我们先看一下他的格式和一些基本概念。 TC…