Nginx快速上手~

news2024/9/23 23:27:58

注:本文针对官网的快速入门教程进行一个中文的解释,以帮助英文阅读能力较差的学习者快速上手

参考官网连接Beginner's Guide (nginx.org)

Centos下的安装

sudo yum install yum-utils
# 创建文件
vim /etc/yum.repos.d/nginx.repo
# 输入以下内容
####
[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true

[nginx-mainline]
name=nginx mainline repo
baseurl=http://nginx.org/packages/mainline/centos/$releasever/$basearch/
gpgcheck=1
enabled=0
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true
####
# 进行安装
sudo yum install nginx
复制代码

若其他操作系统的安装请参考官网Installing nginx

nginx介绍

nginx可用于提供静态内容,做代理服务器……

nginx由一个主进程和几个工作进程组成,主线程的目标是去读取配置并管控工作线程,工作线程处理实际的请求。

nginx的运行模式由配置文件进行控制,配置文件名为nginx,一般情况下被放置在/usr/local/nginx/conf, /etc/nginx, or /usr/local/etc/nginx.

启动、停止和重新载入配置

启动nginx通过

nginx
复制代码

查看运行的nginx进程

ps -ef | grep nginx
# 结果
root     13329     1  0 10:00 ?        00:00:00 nginx: master process nginx
nginx    13330 13329  0 10:00 ?        00:00:00 nginx: worker process
nginx    13331 13329  0 10:00 ?        00:00:00 nginx: worker process
root     13342 10141  0 10:00 pts/1    00:00:00 grep --color=auto nginx

复制代码

启动nginx之后,可以通过以下的格式来控制ngnix了

nginx -s [signal]
复制代码

signal有以下的取值

  • stop — 快速关闭
  • quit — 和平的方式进行关闭 (工作线程会继续服务当前正在请求的线程)
  • reload — 重新载入配置
    • 主进程读入配置,并检查语法的正确性
    • 成功之后,主进程会通知工作线程关闭,并不再接受新的请求
    • 工作线程仍会处理当前的请求,再进程关闭
  • reopen — 重新打开日志文件

配置文件的结构

配置文件由指令构成,指令分为简单指令和块指令。

简单指令由空格分开的name和parameters组成,以分号作为结束

name parameters;

块指令的结构类似于简单指令,但它不是以分号结尾,而是以一组用大括号 { 和 } 括起来的附加指令结尾。如果块指令在大括号内包含其他指令,则它被称为上下文 (context)。如下

http {
    server {
    ...
    }
}
复制代码

配置文件中放置在任何上下文之外的指令都被认为是在主上下文中eventshttp 指令在主上下文中server 指令在 http 上下文, location指令在 server 上下文。

使用#作为注释

对外提供静态内容(提供网页服务)

首先定义想要提供的静态资源,例如在/data/www中定义index.html页面,index.html中写入以下内容

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>nginx学习</title>
</head>
<body>
    <h1>欢迎学习nginx</h1>
</body>
</html>
复制代码

修改/etc/nginx/nginx.conf中的配置文件,注释掉原有的http块指令,添加添加以下内容

http {
    server {
        listen       80;
    	server_name  localhost;
        location / {
                root /data/www;
        }
    }
}
复制代码

上面这些配置是什么意思呢,http代表响应http请求,server被称为虚拟主机,用于响应http请求。location用于定义响应内容的匹配规则。

请求到达后,对应location的匹配规则是这样的,对location后面的路径进行匹配,找到最长前缀匹配的location,将对应location的root的路径拼接进URI中,最后在文件系统中查找对应的位置

例如:

对于http://localhost:80/index.html则会匹配到/data/www/index.html文件

对于http://localhost:80/images/a.png则会匹配到/data/www/images/a.png文件

最后启动一下nginx试试

nginx
复制代码

如果配置未生效

继续执行

nginx -s reload
复制代码

最终的到自定义的页面了

设置一个简单的代理服务器

在配置文件中设置

http {
    # 监听8080端口的服务器,将URI映射到/data/up1中
    server {
        listen 8080;
        root /data/up1;

        location / {
    	}
	}

    # 代理服务器
    server {
        location / {
            proxy_pass http://localhost:8080/; # 代理路径
        }
		# 将以gif,jpg,pnf结尾的URI映射到本地/data/images文件系统
        location ~ \.(gif|jpg|png)$ { # 以~开头的为正则表达式
            root /data/images;
        }
	}
}
复制代码

最终启动即可。

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

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

相关文章

项目1实现登录功能方案设计第四版

需求 优化点:MySQL表常用功能模块实现方案 index页面home页面 需求 实现一个登录功能 实现的功能 注册(邮箱注册) 登录(邮箱密码) 重置密码 查看操作记录(登录, 注册, 重置密码, 登出. 都算操作) 登出 在第3版的基础上进行优化:\ 优化点: 接口设计 1. 发送注册验证码: 路径: PO…

五一将迎2亿人次出行,君子签助力旅行社合规高效签旅游电子合同

近日&#xff0c;为规范旅游市场秩序&#xff0c;促进旅行社高质量发展&#xff0c;文旅部发布了《文化和旅游部办公厅关于进一步规范旅游市场秩序的通知》&#xff08;下称《通知》&#xff09;&#xff0c;对旅游业提出了新的要求。 《通知》中规范了旅行社经营行为。旅行社要…

flink任务处理下线流水数据,数据遗漏不全(三)

flink任务处理下线流水数据&#xff0c;数据遗漏不全&#xff08;二&#xff09; 居然还是重量&#xff0c;做一个判断&#xff0c;如果是NaN 就直接获取原始的数据的重量 测试后面会不会出现这个情况&#xff01; 发现chunjun的代码运行不到5h以后&#xff0c;如果网络不稳…

EasyCVR平台基于GB28181协议的语音对讲配置操作

EasyCVR基于云边端协同&#xff0c;具有强大的数据接入、处理及分发能力&#xff0c;平台可支持海量视频的轻量化接入与汇聚管理&#xff0c;可提供视频监控直播、视频轮播、视频录像、云存储、回放与检索、智能告警、服务器集群、语音对讲、云台控制、电子地图、平台级联等功能…

IT行业里的热门技术

© Ptw-cwl 文章目录 1. 人工智能&#xff08;AI&#xff09;和机器学习&#xff08;ML&#xff09;2. 大数据3. Web2.04. 移动应用程序开发5. 物联网6. 云计算7. 区块链8. 5G技术9. 虚拟现实&#xff08;VR&#xff09;和增强现实&#xff08;AR&#xff09; 现在如果问…

如何使用Midjourney辅助建筑设计,常用的提示和使用效果展示(内附Midjourney提示词网站)

文章目录 一.Midjourney建筑设计的提示技巧1. prompt模板12.prompt模板2 二、著名建筑师为例1.Zaha Hadid&#xff08;扎哈哈迪德&#xff09;2.Ludwig Mies van der Rohe&#xff08;路德维希密斯凡德罗&#xff09;3.Renzo Piano&#xff08;皮亚诺&#xff09;4.Stefano Boe…

PEIS源码,体检管理系统源码,C#医院体检系统源码

PEIS体检管理系统源码&#xff0c;医院体检系统源码PEIS源码&#xff0c;商业级源码&#xff0c;有演示。 PEIS医院体检管理系统采用C/S结构&#xff0c;前台开发工具为Vs2012&#xff0c;后台数据库采用oracle大型数据库。核心功能有&#xff1a;体检档案的录入、体检报告的输…

从入门到精通:SEO站外优化全面解析

通过​​第三章​​上下连续两期的干货内容&#xff0c;相信你已经掌握了 SEO 优化的基本方法&#xff0c;但你有没有发现&#xff1a;之前的内容都是针对网站本身进行优化的方法&#xff0c;其实&#xff0c;SEO 还有相当一部分功夫要放在站外优化上。 问题来了&#xff1a;站…

上海震坤行工业超市聚焦量具量仪市场,助力企业实现测量数字化

上海震坤行工业超市聚焦量具量仪市场&#xff0c;助力企业实现测量数字化 近日&#xff0c;量具量仪三大品牌哈量、广陆、英示的三位重磅嘉宾及震坤行磨具量具产线总经理&#xff0c;走进震坤行工业超市直播间。带来了一场“聚焦量具量仪市场&#xff0c;助力企业实现测量数字…

C语言中结构体(struct)的详细分解与使用

目录 第一&#xff1a;结构体的定义 第二&#xff1a;规则 第三&#xff1a;结构体声明 第四&#xff1a;C 语言结构体定义的三种方式 第五&#xff1a;对于结构体变量的初始化 第六&#xff1a;整体与分开 第七&#xff1a;结构体长度 第八&#xff1a;嵌入式开发中&am…

第 三 章 UML 类图

文章目录 前言一、依赖关系&#xff08;虚线箭头&#xff09;二、泛化关系&#xff1a;继承&#xff08;实线空心箭头&#xff09;三、实现关系&#xff08;虚线空心箭头&#xff09;四、关联关系&#xff08;一对一为实线箭头&#xff0c;一对多为实线&#xff09;五、聚合关系…

如何实现24小时客户服务

许多企业都有着这样的愿望&#xff1a;在不增加客服人员的同时能实现24小时客户服务。 那么有没有什么方法可以实现这一想法呢&#xff1f;在想解决方案之前我们可以先来谈谈客服的作用。 客服的作用主要为以下2点&#xff1a; 帮助用户更快地了解产品&#xff08;减轻产品的…

Linux常用基础指令大全

在使用Aistudio平台学习PaddlePaddle时&#xff0c;常常会用到linux指令&#xff0c;对于之前没有学习过linux指令的我来说&#xff0c;确实有点难度&#xff0c;在学习了一段时间之后&#xff0c;慢慢也适应了linux指令&#xff0c;这一篇博客主要记录linux中的常用指令。以AI…

typescipt的运行环境搭建

1.安装node 官网地址&#xff1a;https://nodejs.org/en 2.安装完成后&#xff0c;运行node -v 检测安装版本 3.全局安装typescipt npm i typescipt -g 用tsc检测是否安装好 创建一个demo.ts文件 在终端运行tsc demo.ts会出现错误 找到windows powershell以管理员身份运行…

算法训练day2:哈希表

哈希表理论基础 哈希表是根据关键码的值而直接进行访问的数据结构。 当我们遇到了要快速判断一个元素是否出现集合里的时候&#xff0c;就要考虑哈希法。 但是哈希法也是牺牲了空间换取了时间&#xff0c;因为我们要使用额外的数组&#xff0c;set或者是map来存放数据&#…

LeetCode:454. 四数相加 II —— 哈希表为什么叫哈希表~

&#x1f34e;道阻且长&#xff0c;行则将至。&#x1f353; &#x1f33b;算法&#xff0c;不如说它是一种思考方式&#x1f340; 算法专栏&#xff1a; &#x1f449;&#x1f3fb;123 hash是什么&#xff0c;哈希表为什么叫哈希表&#xff1f; 一、&#x1f331;454. 四数…

【hello Linux】进程概念(下)

目录 1. 通过系统调用创建进程—fork 1.1 通过fork创建进程&#xff1a; 1.2 如何不退出 vim 直接执行命令呢&#xff1f; 3. fork创建进程的本质 4. 父子进程的分流&#xff1a; 2. 进程状态 3. 信号 3.1 显示全部信号 3.1 停止进程 3.2 继续进程 3.3 杀死进程 后台进程 4. 僵…

在pycharm2020上部署配置AutoGPT4.0,保姆级教程

前期环境及软件准备&#xff1a; 1&#xff09;pycharm版本2020及以上 2&#xff09;python版本3.10及以上 3&#xff09;pip版本20及以上&#xff08;新一点的版本&#xff09; 4&#xff09;安装git&#xff0c;无版本要求 正式开工 具体配置步骤如下&#xff1a; 1.AUTOGP…

【UE 粒子系统】使用GPU渲染粒子

GPU Sprite 是虚幻引擎4中可用的粒子类型之一。这些粒子首先在CPU上生成&#xff0c;但之后完全由显卡处理和计算。这样做的好处是&#xff0c;由于GPU负责处理计算&#xff0c;因此可以同时处理成千上万的粒子&#xff0c;从而实现更密集和更细节化的粒子系统。 在上一篇博客&…

PPC380AE102 HIEE300885R0102现代自动化技术

PPC380AE102 HIEE300885R0102现代自动化技术 ​ 交流伺服电机驱动器示例 目前世界人口已经达到了78亿&#xff0c;并且还在不断增加&#xff0c;预计到2050年将达到100亿。日益增长的人口既有对衣服&#xff0c;食物等基本必需品的需求&#xff0c;对舒适、安全生活的追求也不断…