Nginx学习2:Nginx的安装配置和常用命令
Nginx的安装、常用命令和配置文件
在Linux系统安装Nginx
我们使用虚拟机来完成在Linux系统安装Nginx的步骤,在这里我选择的是CentOS7的Linux系统,
1、到官网下载Nginx
官网地址:http://nginx.org/en/download.html
我们选择稳定版的直接下载。
2、安装Nginx所需的依赖
首先我们安装 pcre 这个依赖,我们挑个目录,在控制台执行下列代码
wget http://downloads.sourceforge.net/project/pcre/pcre/8.37/pcre-8.37.tar.gz
注意:如果下载不了可能是需要 root 权限,用 su root 升级一下权限就可以了。
下载完安装包之后,解压、进入解压后目录,执行
./configure
这时可能会报错,如下图:
这是因为你的虚拟机里面没有C++编译器,我们下载一个 gcc 就行了
yum -y install gcc-c++
然后继续执行下面的命令
make && make install
进行编译安装,至此,安装 pcre 依赖完成。
我们可以使用 pcre-config --version
命令来查看一下是否安装成功。
然后其他的依赖我们可以使用下面的命令下载安装
yum -y install make zlib zlib-devel libtool openssl openssl-devel
3、最后我们安装我们从官网下载好的 Nginx
把安装包放到相应目录底下解压,进入解压目录,执行下列命令
./configure
make && make install
注意:执行完 make && make install 命令后可能会报错,如下图:
这是因为权限不够,我们切换一下root权限就可以了
切换root权限之后再次安装,安装成功
Nginx启动和访问
安装完之后我们启动一下 nginx ,去往/usr/local/nginx/sbin目录底下,执行
./nginx
这样 nginx 服务就已经启动起来了,如下图:
我们在主机浏览器输入虚拟机的ip地址访问 nginx ,结果如下图:
额…
防火墙问题,nginx 默认的80端口我们的虚拟机访问墙没允许开放,我们再执行以下下列命令
# 查看开放的端口号
firewall-cmd --list-all
# 设置开放的端口号
firewall-cmd --add-service=http --permanent
sudo firewall-cmd --add-port=80/tcp --permanent
# 重启防火墙
firewall -cmd --reload
如下图:
Nginx常用命令
我们使用nginx操作命令的前提条件:必须进入nginx的目录
/usr/local/nginx/sbin
# 查看 nginx 的版本号
./nginx -v# 启动 nginx
./nginx# 关闭 nginx
./nginx -s stop# 重新加载 nginx
./nginx -s reload
Nginx配置文件
Nginx配置文件位置
/usr/local/nginx/conf/nginx.conf
Nginx配置文件的基本组成
配置文件中有很多“#”开头的表示注释内容,我们去掉所有以#开头的段落,精简之后的
内容如下:
根据上述文件,我们可以很明显的将 nginx.conf 配置文件分为三部分:
第一部分:全局块
从配置文件开始到 events 块之间的内容,主要会设置一些影响 nginx 服务器整体运行的配置指令,主要包括配置运行 Nginx 服务器的用户(组)、允许生成的 worker process 数,进程 PID 存放路径、日志存放路径和类型以及配置文件的引入等。
比如上面第一行配置的:
这是 Nginx 服务器并发处理服务的关键配置,worker_processes 值越大,可以支持的并发处理量也越多,但是会受到硬件、软件等设备的制约
第二部分:events 块
比如上面的配置:
events 块涉及的指令主要影响 Nginx 服务器与用户的网络连接,常用的设置包括是否开启对多 work process 下的网络连接进行序列化,是否允许同时接收多个网络连接,选取哪种事件驱动模型来处理连接请求,每个 word process 可以同时支持的最大连接数等。
上述例子就表示每个 work process 支持的最大连接数为 1024。
这部分的配置对 Nginx 的性能影响较大,在实际中应该灵活配置。
第三部分:http 块
这算是 Nginx 服务器配置中最频繁的部分,代理、缓存和日志定义等绝大多数功能和第三方模块的配置都在这里。
需要注意的是:http 块也可以包括 http 全局块、server 块。
http 全局块
http 全局块配置的指令包括文件引入、MIME-TYPE 定义、日志自定义、连接超时时间、单链接请求数上限等。
server块
这块和虚拟主机有密切关系,虚拟主机从用户角度看,和一台独立的硬件主机是完全一样的,该技术的产生是为了节省互联网服务器硬件成本。
每个 http 块可以包括多个 server 块,而每个 server 块就相当于一个虚拟主机。
而每个 server 块也分为全局 server 块,以及可以同时包含多个 location 块。
- 全局 server 块
最常见的配置是本虚拟机主机的监听配置和本虚拟主机的名称或 IP 配置。 - location 块
一个 server 块可以配置多个 location 块。
这块的主要作用是基于 Nginx 服务器接收到的请求字符串(例如 server_name/uri-string),对虚拟主机名称(也可以是 IP 别名)之外的字符串(例如:前面的 /uri-string)进行匹配,对特定的请求进行处理。地址定向、数据缓存和应答控制等功能,还有许多第三方模块的配置也在这里进行。
PS:也可以到我的个人博客查看更多内容
个人博客地址:小关同学的博客
相关文章:

鼠标悬浮指针变手
cursor:pointer; //鼠标悬浮样式转载于:https://www.cnblogs.com/GerryOfZhong/p/5219365.html

linux设备驱动第五篇:驱动中的并发与竟态
目录[-] 综述信号量与互斥锁Completions 机制自旋锁其他的一些选择不加锁算法原子变量与位操作seqlock(顺序锁)读取-拷贝-更新(RCU)小结综述 在上一篇介绍了linux驱动的调试方法,这一篇介绍一下在驱动编程中会遇到的并…

Ubuntu16.04运行.run文件
QT配置ROS环境,运行.run文件—参考链接: https://blog.csdn.net/have_fun_/article/details/88242536

终极AutoCAD大师班:成为AutoCAD专家
Ultimate AutoCAD Masterclass: Become an Expert in AutoCAD 流派:电子学习| MP4 |视频:h264,1280720 |音频:AAC,44.1 KHz 语言:英语中英文字幕(根据原英文字幕机译更准确)|大小:6.39 GB |时长:9h 58m 使用AutoCAD学习…

《深入理解Java虚拟机》(第二版)学习1:JVM的内存划分
运行时数据区 先来一张图描述一下 JVM 的内存划分 PS:自己画的,丑是难免丑了点… 程序计数器(Program Counter Register) 程序计数器(Program Counter Register)是一块较小的内存空间,它可以…

下一个亿万市场:企业级SaaS服务谁能独领风骚
注:SaaS是Software-as-a-Service(软件即服务)的简称,一种完全创新的软件应用模式,简单来说SaaS即为提供商基于互联网为企业提供软件服务。 对中小型企业来说:SaaS是采用先进技术,它消除了企业购买、构建和维护基础设…

inline-block在ie6中的经典bug
众所周知,给元素设置 inline-block ,可以让ie下的元素出发layout:1。 但是,当给元素设置 inline-block 后,在另外一个class 样式(非设置inline-block的class样式)重置为inline或者block。对于ie6下…

各系统QT安装ROS后不显示src问题
刚创建的文件显示如下: 接下来修改这里: 将对勾去掉 之后就可以正常显示,可以添加自己的工作空间以及功能包了

使用脚本完成AutoCAD自动化任务课程
The complete AutoCAD Automation tasks course Using Script MP4 |视频:h264,1280720 |音频:AAC,44.1 KHz,2 Ch 语言:英语中英文字幕(根据原英文字幕机译更准确) |时长:42节课(4h 25m) |大小:3.35 GB 含课…

学生管理系统(C语言版)
学生管理系统 这个是大一学习C语言的时候做的一个小项目,代码部分基本都是自己一人完成,没用到什么高大上的技术,在图形化方面用了EasyX(一个C的图形库),其他都是C语言的基础内容。 项目介绍 项目总体功…

jsp,图片显示
问题:jsp中显示项目中image文件夹中的图片 1,项目中image文件夹中有对应的图片 2,<img ,src"/项目名/image/图片名.jpg">,用其他变量获取这个路径也可以,但本质还是这个路径 3,对于jsp和HTML等文件的修…

Java基础系列——IO流
2019独角兽企业重金招聘Python工程师标准>>> ---恢复内容开始--- Java对数据的操作都是通过流的方式,数据的输入和输出是相对内存来说的,将外设的数据读到内存:输入流;将内存的数据写到外设:输出流。 流按…

Visual Studio Code / Roboware Studio调整字体大小,跳转等操作
调大字体:Ctrl 调小字体:Ctrl _- 跳转:F12 跳转返回:Ctrl Alt _- 打开内部终端:Ctrl ~

C4D和Redshift:2D矢量到三维渲染 Cinema 4D and Redshift: 2D vector to 3D render
C4D和Redshift:2D矢量到三维渲染 时长:1h 4m |视频:. MP4 1280720,30 fps(r) |音频:AAC,48000 Hz,2ch |大小解压后:633 MB 含课程文件 语言:英语中英文字幕(机译) 本课程涵盖了诸如将矢量转换为3d场景的主题。您将了解哪些数据可以…

《深入理解Java虚拟机》(第二版)学习2:垃圾收集算法
对象存活判断 在对堆进行回收之前虚拟机需要判断这些对象中那些是“存活”的。 引用计数算法(Reference Counting) 原理:给对象中添加一个引用计数器,每当有一个地方引用它时,计数器值就加一;当引用失效…

Android 知识杂记(MVP模式)
MVP的模式在于将原来activity中业务逻辑的部分剥离出来,代码示例如下: Accountpublic class Account {private String mUsername;private String mPassword;public String getmUsername() {return mUsername;}public void setmUsername(String mUsername…

玩转百度即用API(2)——身份证查询
2019独角兽企业重金招聘Python工程师标准>>> 第二个即用API,身份证查询 示例代码: #-*- coding: utf-8 -*- #version:0.1 #note:该即用API接口简单,输入身份证只能查到3个信息:大概地址,性别&am…

解决Ubuntu环境下不能QT不能输入中文
参考链接: https://blog.csdn.net/baidu_33850454/article/details/81212026?utm_mediumdistribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.nonecase&depth_1-utm_sourcedistribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2…

UE5虚幻引擎5中的实时特效学习 Introduction to real time FX in Unreal Engine 5
MP4 |视频:h264,1280720 |音频:AAC,44.1 KHz,2 Ch 语言:英语中英文字幕(根据原英文字幕机译更准确) |时长:40节课(3h 36m) |大小解压后:2.65 GB 含课程文件 从零开始使用尼亚加拉在虚幻引擎中学习实时外汇…

《深入理解Java虚拟机》(第二版)学习3:垃圾收集器
垃圾收集器 如果说收集算法是内存回收的方法论,那么垃圾收集器就是内存回收的具体实现。 我们这里讨论的收集器主要是基于JDK 1.7 Update 14之后的 Hotspot VM 。 Serial 收集器 Serial 收集器是最基本、发展历史最悠久的收集器,曾经(在 …

2016寒假训练3
题目链接 A CodeForces 362A Two Semiknights Meet 题意:在一个棋盘中有两个定义了特殊走法的棋子,同时移动他们,问是否会相遇(只能在合法的位置)。 做法:直接暴力dfs处理出这两个棋子到达各个位置的时间&a…

2015化妆品行业如何进行微信公众号营销
对比其他行业发展特点发现化妆品行业具有以下特点: 1、化妆品行业呈现节日、电商促销影响明显、口碑评价关注度高、女性网民占比高冲动消费多、整体用户年轻化等特点。 2、化妆品行业即使在各行业发展低迷期依然保持良好发展势头。 3、化妆品商家的顾客回头率高。 4…

在新建好的ROS空间里面添加功能包
第一步:创建功能包 cd catkin_ws打开src ~/catkin_ws/src新建文件夹名字 catkin_create_pkg (文件加名字) roscpp rospy std_msgs打开新建文件夹中的src ~/catkin_ws/src/(新建文件夹名字)/src输入: gedit 文件.cpp返回工作空间: 执行catkin build 编译后即可执行

Revit的Enscape基本培训(2021) Enscape Essential Training for Revit (2021)
MP4 |视频:h264,1280720 |音频:AAC,44.1 KHz,2 Ch 语言:英语中英文字幕(根据原英文字幕机译更准确) |时长:2h 53m |大小解压后:2.23 GB 含课程练习文件 如果您使用Revit,您可能需要学习Enscape&…

设计模式学习2:单例模式
单例模式 所谓类的单例设计模式,就是采取一定的方法保证在整个的软件系统中,对某个类只能存在一个对象实例,并且该类只提供一个取得其对象实例的方法(静态方法)。 比如Hibernate的SessionFactory,它充当数据存储源的代理…

数据库插入时,标识列插入显式值
当 IDENTITY_INSERT 设置为 OFF 时,不能为表 CU_GiftExchange 中的标识列插入显式值。SET IDENTITY_INSERT [dbo].[CU_GiftExchange] ONGO转载于:https://blog.51cto.com/hezun/1631849

Ubuntu终端显示文本让选择确定,OK等等
问题1:首先按下"TAB"键,会看到选中文本"确定","OK"然后按下回车键,即可!

Unity安卓游戏开发:打造7款2D 3D游戏 Unity Android Game Development : Build 7 2D 3D Games
流派:电子学习| MP4 |视频:h264,1280720 |音频:AAC,44.1 KHz 语言:英语中英文字幕(根据原英文字幕机译更准确) |大小:15.4 GB |时长:32h 55m Unity游戏开发与设计,用C# & Unity学习Unity安卓游戏开发(更…

唯一索引和普通索引的选择
前言:最近在研究阿里的开发手册中关于 MySQL 的一些规定,所以来记录一下学习中的心得 唯一索引和普通索引的选择 【强制】业务上具有唯一特性的字段,即使是组合字段,也必须建成唯一索引。 说明:不要以为唯一索引影响了…

Springboot整合HBase——大数据技术之HBase2.x
Apache HBase 是以hdfs为数据存储的,一种分布式、可扩展的noSql数据库。是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统,利用HBase技术可在廉价PC Server上搭建起大规模结构化存储集群。HBase使用与BigTable(BigTable是一个稀疏的、分布式的、持久化的多维排序map)非常相似的数据模型。用户将数据行存储在带标签的表中。数据行具有可排序的键和任意数量的列。该表存储稀疏,因此如果用户喜欢,同一表中的行可以具有疯狂变化的列。