在Centos环境中搭建Nginx环境

一、Nginx概念简介

  Nginx是一个轻量级的高性能HTTP反向代理服务器,同时它也是一个通用类型的代理服务器,支持绝大部分协议,如TCP、UDP、SMTP、HTTPS等。

Nginx-LOGO

Nginx与redis相同,都是基于多路复用模型构建出的产物,因此它与Redis同样具备资源占用少、并发支持高的特点,在理论上单节点的Nginx同时支持5W并发连接,而实际生产环境中,硬件基础到位再结合简单调优后确实能达到该数值。

客户端请求处理流程的对比:

Nginx前后区别

原本客户端是直接请求目标服务器,由目标服务器直接完成请求处理工作,但加入Nginx后,所有的请求会先经过Nginx,再由其进行分发到具体的服务器处理,处理完成后再返回Nginx,最后由Nginx将最终的响应结果返回给客户端。

二、Nginx环境搭建

官网地址:http://nginx.org/

第一步:首先创建Nginx的目录并进入

[root@localhost]# mkdir /soft && mkdir /soft/nginx/
[root@localhost]# cd /soft/nginx/

第二步;下载Nginx的安装包

        可以通过FTP工具上传离线环境包,也可通过wget命令在线获取安装包

[root@localhost]# wget https://nginx.org/download/nginx-1.21.6.tar.gz

 没有wget命令的可通过yum命令安装:

[root@localhost]# yum -y install wget

第三步:解压Nginx的压缩包:

[root@localhost]# tar -xvzf nginx-1.21.6.tar.gz

第四步:下载并安装Nginx所需的依赖库和包:

[root@localhost]# yum install --downloadonly --downloaddir=/soft/nginx/ gcc-c++

 [root@localhost]# yum install --downloadonly --downloaddir=/soft/nginx/ pcre pcre-devel4

[root@localhost]# yum install --downloadonly --downloaddir=/soft/nginx/ zlib zlib-devel

 [root@localhost]# yum install --downloadonly --downloaddir=/soft/nginx/ openssl openssl-devel

 也可以通过yum命令一键下载(推荐上面哪种方式):

[root@localhost]# yum -y install gcc zlib zlib-devel pcre-devel openssl openssl-devel

执行完成后,然后ls查看目录文件,会看一大堆依赖:

 紧接着通过rpm命令依次将依赖包一个个构建,或者通过如下指令一键安装所有依赖包:

[root@localhost]# rpm -ivh --nodeps *.rpm

 第五步:Nginx的配置脚本

        进入解压后的nginx目录,然后执行Nginx的配置脚本,为后续的安装提前配置好环境,默认位于/usr/local/nginx/目录下(可自定义目录):

[root@localhost]# cd nginx-1.21.6
[root@localhost]# ./configure --prefix=/soft/nginx/

 第六步:编译并安装Nginx

[root@localhost]# make && make install

第七步:最后回到前面的/soft/nginx/目录,输入ls即可看见安装nginx完成后生成的文件。  

 第八步:修改安装后生成的conf目录下的nginx.conf配置文件

[root@localhost]# vi conf/nginx.conf
    修改端口号:listen    80;
    修改IP地址:server_name  你当前机器的本地IP(线上配置域名);

第九步:制定配置文件并启动Nginx

[root@localhost]# sbin/nginx -c conf/nginx.conf
[root@localhost]# ps aux | grep nginx

Nginx其他操作命令:

sbin/nginx -t -c conf/nginx.conf # 检测配置文件是否正常
sbin/nginx -s reload -c conf/nginx.conf # 修改配置后平滑重启
sbin/nginx -s quit # 优雅关闭Nginx,会在执行完当前的任务后再退出
sbin/nginx -s stop # 强制终止Nginx,不管当前是否有任务在执行

第十步:开放80端口,并更新防火墙

[root@localhost]# firewall-cmd --zone=public --add-port=80/tcp --permanent

[root@localhost]# firewall-cmd --reload

 [root@localhost]# firewall-cmd --zone=public --list-ports

 第十一步:在Windows/Mac的浏览器中,直接输入刚刚配置的IP地址访问Nginx

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

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

相关文章

【MySQL】并发执行事务可能存在的问题, 事物的四种隔离级别

文章目录 前言一、并发执行事务可能存在的问题1, 脏读问题2, 不可重复读3, 幻读 二、MySQL 的四种隔离级别1, READ UNCOMMITTED 读未提交2, READ COMMITTED 读已提交3, REPEATABLE READ 可重复读 (MySQL 的默认事务隔离级别)4, SERIALIZABLE 串行化 总结 前言 各位读者好, 我是…

cmake扩展(2)——windows下动态设置输出文件(dll/exe)版本

准备 windows下设置文件的版本需要通过VERSIONINFO接口,详情参考VERSIONINFO resource。这里我们根据模板做了一定的修改。 1 VERSIONINFOFILEVERSION ${GIT_VERSION} //文件版本号,必填。以,分隔,输出以.分隔。这里是取CMakeLists里的GIT_…

【Java】异常处理 之 自定义异常

Java标准库定义的常用异常包括: Exception │ ├─ RuntimeException │ │ │ ├─ NullPointerException │ │ │ ├─ IndexOutOfBoundsException │ │ │ ├─ SecurityException │ │ │ └─ IllegalArgumentException │ │ │ └─ Num…

idea如何上传项目到github(超详细)

idea如何上传项目到github 1、IDEA配置2、项目上传到本地仓库2.1、创建本地git仓库2.2、Add操作2.3、Commit操作 3、项目上传到Github4、拿到登录Github的token 1、IDEA配置 File-Settings-VersionControl-Git Git的安装路径下bin目录下的git.exe可执行文件 可以直接点 Gene…

QGIS3.28的二次开发六:VS不借助QT插件创建UI界面

上一篇博客我们说了在VS中如何使用QT插件来创建UI界面,但是我们二次开发QGIS的第一篇博客就说了,最好使用OSGeo4W中自动下载的QT进行QGIS二次开发,这样兼容性是最好的,那么该如何在VS中不使用外部安装的QT以及QT的VS插件情况下进行…

【vue3】vue3中父子组件传参:

文章目录 一、父传子:二、父调用子方法:三、子组件发送emit方法给父组件: 一、父传子: 【1】父组件传值: 【2】子组件接收: 二、父调用子方法: 【1】父组件调用: 【2】子组件暴…

RabbitMQ在CentOS下的安装

RabbitMQ的版本是3.8.2 1.环境配置:CentOs 7.6以上版本,我的版本是7.9,不要对yum换源,否则可能会安装失败。 echo "export LC_ALLen_US.UTF-8" >> /etc/profile source /etc/profile 以上命令,是…

vue使用ElementUI

1.安装 npm i element-ui -S 2.引入 2.1完整引入 import Vue from vue; import ElementUI from element-ui; import element-ui/lib/theme-chalk/index.css; import App from ./App.vue;Vue.use(ElementUI); 2.2按需引入 说明:为了输入时候有提示,建…

变形金刚在图像识别方面比CNN更好吗?

链接到文 — https://arxiv.org/pdf/2010.11929.pdf 一、说明 如今,在自然语言处理(NLP)任务中,转换器已成为goto架构(例如BERT,GPT-3等)。另一方面,变压器在计算机视觉任务中的使用…

vue3 基础知识 01

加油! 😘 文章目录 一、vue3 带来的变化(源码)二、vue3 带来的变化(性能)三、vue3 带来的变化(新的API)四、声明式 和 命令式五、template六、data七、methods 一、vue3 带来的变化&…

Practices9(双指针)|283. 移动零、11. 盛最多水的容器、15. 三数之和

283. 移动零 1.题目: 给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。 请注意 ,必须在不复制数组的情况下原地对数组进行操作。 示例 1: 输入: nums [0,1,0,3,12] 输出: [1,3,12,0,…

chrome、edge、Firefox关闭音量提醒控件显示

文章目录 1. Chrome2. edge3. firefox 1. Chrome 在地址栏输入: chrome://flags/#hardware-media-key-handling 将Hardware Media Key Handling的状态设为Disabled 2. edge 在地址栏输入 edge://flags/#hardware-media-key-handling 将Hardware Media Key Handling的状态…

第二十三章 原理篇:Pix2Seq

大夏天我好像二阳了真是要命啊。 现在找到工作了,感觉很快乐,但是也有了压力。 《论你靠吹牛混进公司后该怎么熬过试用期》 希望自己能保持学习的习惯!加油! 参考教程: https://arxiv.org/pdf/2109.10852.pdf https://…

高级进阶多线程——多任务处理、线程状态(生命周期)、三种创建多线程的方式

Java多线程 Java中的多线程是一个同时执行多个线程的进程。线程是一个轻量级的子进程,是最小的处理单元。多进程和多线程都用于实现多任务处理。 但是,一般使用多线程而不是多进程,这是因为线程使用共享内存区域。它们不分配单独的内存区域…

Nginx负载均衡以及keepalived高可用实验

Vip 10.1.122 Keepalived-master 10.1.1.132Keepalied-backup 10.1.1.133Realserver_1 10.1.1.136Realserver_2 10.1.1.137 四台机器上安装nginx,编译安装的话需要另外安装pcre包支持,安装在/usr/local/nginx Keepalived-master 和backu…

【网络编程·网络层】IP协议

目录 一、IP协议的概念 二、IP协议的报头 1、四位首部长度 2、16位总长度(解包) 3、8位协议(分用) 4、16位首部校验和 5、8位生存时间 6、32位源IP和32位目的IP 7、4位版本/8位服务类型 8、16位标识 9、3位标志 10、1…

go练习 day02

go中使用mongodb实现增删改查 连接mongodb yaml配置 mongodb:uri: mongodb://localhost:27017初始化连接 package confimport ("context""fmt""time""github.com/spf13/viper""go.mongodb.org/mongo-driver/mongo""…

基于kettle实现pg数据定时转存mongodb

mogodb 待创建 基于kettle实现pg数据定时转存mongodb_kettle 实时迁移 mongodb_呆呆的私房菜的博客-CSDN博客

MFC29-30天 补充中间遇到的一些小问题

宏定义中的#和##的含义&#xff1a; #include <Windows.h> #include <tchar.h> #include <iostream> #define Test(x,y) x##y //自动连接 xy #define T2(x) #x //自动转为字符串 "x"int main() {auto p Test(Message, Box);(*p)(NULL, _T(T2(Hel…

SQLSTATE[42000]: this is incompatible with sql_mode=only_full_group_by in

执行 SELECT *FROM test WHERE id>1 GROUP BY name having AVG(age)>10 ORDER BY id desc limit 1 提示错误 Fatal error: Uncaught PDOException: SQLSTATE[42000]: Syntax error or access violation: 1055 Expression #1 of SELECT list is not in GROUP BY clause…