Nginx 安装(源码编译安装)

Nginx服务器提供了Windows和Linux版本,本文为Linux环境下Nginx服务器的详细安装步骤。

安装环境:
Linux服务器操作系统:CentOs 8.1.1911

Nginx版本:1.21.4(Linux)

安装步骤:
1、安装GCC、automake、pcre、zlib和openssl

为了编译Nginx源码,我们需要标准的GCC编译器(GNU Compiler Collection,自由的类UNIX及Mac OS X操作系统的标准编译器),另外,我们需要通过Automake工具,完成自动创建Makefile的工作,除此以外,Nginx的一些模块还需要依赖其他第三方库,通常有pcre库(支持rewrite模块)、zlib库(支持gzip模块)和openssl库(支持ssl模块)。

可以通过如下指令去查看Linux服务器上是否已经安装pcre、zlib和openssl

//查看openssl
rpm -qa openssl
 
//查看zlib
rpm -qa zlib
 
//查看pcre
rpm -qa pcre


本机上因为已经安装了以上三个第三方库,所以显示如下:

如果没有安装以上三个库,鉴于以上Nginx运行的需求,我们需要执行以下代码:

yum -y install gcc gcc-c++ automake pcre pcre-devel zlib zlib-devel openssl openssl-devel


2、下载Nginx服务器并解压

下载Nginx服务器本文提供了两种方式:

A、通过官网进行下载,进入Nginx官网,网址:http://nginx.org/en/doload.html,本文Nginx版本为1.21.4,可以选择对应的版本进行下载。

B、通过Linux进行下载,指令代码:wget http://nginx.org/download/nginx-1.21.4.tar.gz。

本文通过第二种方式进行下载。

//进入home文件夹
cd /home
 
//创建nginx文件夹
mkdir nginx
 
//下载Nginx服务器文件
wget http://nginx.org/download/nginx-1.21.4.tar.gz
 
//解压文件至指定目录
tar -zxvf nginx-1.21.4.tar.gz -C /irms/tmp/


解压完成后/opt/Nginx文件夹下多出一个文件夹Nginx-1.16.1,该文件夹下包含如下文件:

auto:存放了大量脚本文件,和configure脚本程序有关。

conf:存放了Nginx服务器的配置文件,包含了Nginx服务器的基本配置文件和对部分特性的配置文件。

configure:Nginx服务器的自动脚本程序,运行configure自动脚本将会完成两项工作:

        1、检查环境,根据环境检查结果生成C代码;

        2、生成编译代码需要的makefile文件。

html:存放了两个后缀名为.html的静态文件。

man:存放了Nginx服务器的帮助文档,可通过 man nginx进行查看。

src:存放了Nginx服务器的所有源代码。

3、安装Nginx服务器

(注意:此步骤在运行.configure时可能不成功,不成功的原因基本在于pcre、zlib或openssl未安装成功,可以重新进行安装)

//进入之前解压后得到的文件夹nginx-1.21.4
cd /irms/nginx/nginx-1.21.4
 
//运行configure脚本程序,可以直接运行./configure,也可以通过--prefix=path 指定nginx的安装目录
./configure --prefix=/irms/nginx/
 
//运行完成后,该文件夹下多出一个文件---Makefile,此时执行make指令进行源代码编译,编译过程中屏幕会有编译全过程
make
 
//编译完成后,执行make的install命令安装Nginx服务器
make install

执行完成make install指令后,可以将工作目录定位到我们的安装目录,也就是上述的/irms/nginx文件夹,通过ls -l指令,可以看到该文件夹下出现以下几个文件夹:

conf:该目录存放了Nginx的所有配置文件,该文件夹下包含nginx.conf文件,它是Nginx服务器的住配置文件,其他文件则是用    来配置Nginx的相关功能。

html:该目录存放了Nginx服务器在运行过程中调用的一些html文件。

logs:该目录存放了Nginx服务器的日志。

sbin:该目录中只包含了一个文件-nginx,它就是Nginx服务器的主程序。

4、修改nginx.conf文件(根据自己的项目进行修改)

// 修改nginx.conf文件中端口,如修改成81
cd /irms/nginx/conf
vim nginx.conf

5、启动Nginx服务器

//在启动服务器之前,我们可以通过如下指令来查看Nginx服务器配置文件是否有语法错误:
//绝对路径
/irms/nginx/sbin/nginx -t
 
//在nginx文件夹中时的相对路径
./sbin/nginx -t
 
//通过如下指令可以查看Nginx服务器版本
./sbin/nginx -v
 
//使用默认配置启动Nginx
./sbin/nginx
 
//查看Nginx进程状态
ps -ef|grep nginx
 
//停止Nginx服务器
//绝对路径
/irms/nginx/sbin/nginx -s stop
 
//nginx文件夹下相对路径
./sbin/nginx -s stop
 
//重启Nginx服务器
/irms/nginx/sbin/nginx -s reopen
 
//重新载入配置文件
/irms/nginx/sbin/nginx -s reload

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

过度加大SSD内部并发何尝不是一种伤害-part1

之前存储随笔有发布过一篇关于如何通过IO并发度提升性能相关的文章: 扩展阅读:SSD基础架构与NAND IO并发问题探讨 SSD整体优化策略就是要低延迟,高带宽,增加NAND的并发度。 本文,我们从另外一个角度来做一些讨论。现…

MySQL代码笔记

欢迎来到Cefler的博客😁 🕌博客主页:那个传说中的man的主页 🏠个人专栏:题目解析 🌎推荐文章:题目大解析(3) 目录 👉🏻表的增删查改创建表格&…

TLC2543(12位A/D转换器)实现将输入的模拟电压显示到数码管上

代码&#xff1a; #include <reg51.h> #define uchar unsigned char #define uint unsigned int// 数码管0-9 unsigned char seg[] {0x3F, 0x06, 0x5B, 0x4F, 0x66, 0x6D, 0x7D, 0x07, 0x7F, 0x6F}; sbit SDO P1^0; sbit SDI P1^1; sbit CS P1^2; sbit CLK P1^3; s…

Linux(一)Linux理论

文章目录 一、Linux概述1.1 体系结构1.1.1 Linux内核1.1.2 用户态与内核态1.1.3 交换空间1.1.4 CLI和GUI 1.2 开机启动过程1.3 系统运行级别1.4 Linux进程1.4.1 Linux进程通信的方法1.4.2 Linux进程状态 二、文件2.1 Linux文件系统2.2 目录结构2.3 绝对路径和相对路径2.4 日志文…

增量式旋转编码器在STM32平台上的应用

背景 旋钮是仪器仪表上一种常见的输入设备&#xff0c;它的内部是一个旋转编码器&#xff0c;知乎上的这篇科普文章对其工作原理做了深入浅出的介绍。 我们公司的功率分析仪的前面板也用到了该类设备&#xff0c;最近前面板的MCU从MSP430切换成了STM32&#xff0c;因此我要将…

HarmonyOS 多态样式

还记得我们css中有 按压 失去焦点 点击后 正常状态 的各种样式设置 那么作为前端开发 TS JS的改版 harmonyos自然也有 这里 我们编写代码如下 Entry Component struct Index {build() {Row() {Column() {TextInput()TextInput().stateStyles({//正常状态normal: {.background…

Pytorch项目,肺癌检测项目之四

# 安装图像处理 的两个包 simpleITK 和 ipyvolume # 安装缓存相关的两个包 diskcache 和 cassandra-driver import gzip from diskcache import FanoutCache, Disk from cassandra.cqltypes import BytesType from diskcache import FanoutCache,Disk,core from diskcache…

计算机组成原理第6章-(计算机的运算方法)【上】

机器数与真值 把符号“数字化”的数称为机器数,而把带“+”、“-”符号的数称为真值。 原码表示法 原码是机器数中最简单的一种表示形式,0表示整数,1表示负数。 约定整数的符号位和数值位之间用“逗号”隔开。 在原码中,0有两种表示形式:“+0”和“-0”是不一样的。 反…

C++内存管理和模板初阶

C/C内存分布 请看代码&#xff1a; int globalVar 1; static int staticGlobalVar 1; void Test() {static int staticVar 1;int localVar 1;int num1[10] { 1, 2, 3, 4 };char char2[] "abcd";const char* pChar3 "abcd";int* ptr1 (int*)mallo…

7.5组合总和②(LC40-M)

算法&#xff1a; 相比于上一题&#xff0c;数组candidates有重复元素&#xff0c;而要求不能有重复的组合&#xff0c;所以相对于39.组合总和 (opens new window)难度提升了不少。 如何去重&#xff1f; 先把candidates排序&#xff0c;让重复的元素都在一起 单层递归时&a…

二叉搜索树 --- C++实现

目录 1.二叉搜索树的概念 2.二叉搜索树的操作 3. 二叉树的实现 4.二叉搜索树的应用 5. 二叉树的性能分析 6. 二叉树进阶练习题 1.二叉搜索树的概念 二叉搜索树又称二叉排序树&#xff0c;它或者是一棵空树&#xff0c;或者是具有以下性质的二叉树&#xff1a; 若它的左…

LDO频率补偿

频率补偿 为了维持系统稳定的条件&#xff0c;一般的做法是建立一个低频几点&#xff0c;并把第二个极点放在单位增益频率 f0db 附近。在线性稳压器中&#xff0c;这两个极点是输出极点Po和误差放大器极点Pe。在确定了哪一个极点应该是主极点后&#xff0c;补偿的目的就是理解系…

(Mac上)使用Python进行matplotlib 画图时,中文显示不出来

【问题描述】 ①报错确缺失字体&#xff1a; ②使用matplotlib画图&#xff0c;中文字体显示不出来 【问题思考】 在网上搜了好多&#xff0c;关于使用python进行matplotlib画图字体显示不出来的&#xff0c;但是我试用了下&#xff0c;对我来说都没有。有些仅使用于windows系…

Laravel框架使用phpstudy本地安装的composer用Laravel 安装器进行安装搭建

一、首先需要安装Laravel 安装器 composer global require laravel/installer 二、安装器安装好后&#xff0c;可以使用如下命令创建项目 laravel new sys 三、本地运行 php artisan serve 四、 使用Composer快速安装Laravel5.8框架 安装指定版本的最新版本&#xff08;推荐&a…

2023 年第四季度 Chainlink 产品更新

在回顾 2023 年时&#xff0c;可以明显看到 Chainlink 生态系统所取得的进步是非常显著的。 我们以三个优先事项开始了这一年&#xff1a; 推出了 CCIP&#xff08;我们的跨链互操作协议&#xff09;&#xff0c;使得跨链交易和活动更加安全。推出数据流&#xff08;Data Str…

管理 Jenkins 详细指南

目录 系统配置 安全 状态信息 故障 排除 工具和操作 系统配置 系统&#xff0c;配置全局设置和路径&#xff0c;端口更改&#xff0c;下载地址等。 工具&#xff0c;配置工具、其位置和自动安装程序。 插件&#xff0c;添加、删除、禁用或启用可以扩展 Jenkins 功能的插…

<JavaEE> 网络编程 -- 网络编程和 Socket 套接字

目录 一、网络编程的概念 1&#xff09;什么是网络编程&#xff1f; 2&#xff09;网络编程中的基本概念 1> 收发端 2> 请求和响应 3> 客户端和服务端 二、Socket套接字 1&#xff09;什么是“套接字”&#xff1f; 2&#xff09;Socket套接字的概念 3&…

跨平台应用程序开发软件,携RAD Studio 12新版上线

RAD Studio 是一款专为程序员而准备的跨平台应用程序开发软件&#xff0c;内置Delphi和CBuilder这两种开发工具&#xff0c;另外还提供了新的C功能&#xff0c;扩展了对ExtJS的RAD服务器支持&#xff0c;增强了对vcL的高dpi支持&#xff0c;提高了firemonk (FMX)的质量等等&…

长知识,Session强制账号下线,限制账号登录!

在Web开发中&#xff0c;会话管理是确保用户连续、安全地访问应用程序的关键。PHP中的会话机制&#xff08;session&#xff09;为我们提供了这种功能。通过会话&#xff0c;我们可以跟踪用户的状态&#xff0c;存储和检索用户特定的数据。然而&#xff0c;有时候我们需要强制用…

Python学习路线 - Python语言基础入门 - Python异常、模块与包

Python学习路线 - Python语言基础入门 - Python异常、模块与包 了解异常什么是异常bug单词的诞生异常演示 异常的捕获方法为什么要捕获异常捕获常规异常捕获指定异常捕获多个异常捕获异常并输出描述信息捕获所有异常异常 else异常的finally 异常的传递Python模块什么是模块模块…