13-nginx
关于nginx
nginx是提供http服务的中间件。
这里推荐学习nginx的博客:朱双印的博客
安装
- nginx的版本
- 主线版本(Mainline version) #最新版,不稳定
- 稳定版本(Stable version)
- 历史版本(Legacy version)
- 安装方式
- yum安装(方便简单)
- 源码安装(可以安装不同的模块)
- yum安装的方式
yum -y install epel-release #安装扩展软件源
yum -y install nginx
firewall-cmd --add-service=http #临时放行http服务
firewall-cmd --add-service=http --per #永久放行http服务
启动nginx
systemctl restart nginx #启动nginx
systemctl enable nginx #设置nginx开机启动
访问服务器:http://192.168.191.129(替换为你服务器的地址)
出现下面的结果,就成功启动nginx了。
实验-创建自己的网页
nginx网页的根目录:/usr/share/nginx/html/
cd /usr/share/nginx/html/
echo "<h1>Hello World</h1>" > index.html
systemctl restart nginx
访问服务器:http://192.168.191.129(替换为你服务器的地址)
出现下面的结果就成功了。
只要将网页文件放入nginx根目录,网页文件就能被访问了(注意权限)。
nginx的配置文件
配置文件的路径:/etc/nginx/nginx.conf
开启压缩
http {
gzip on; //开启压缩,压缩算法为gzip
}
监听地址
server { #1个server代表一个http服务(可以设置多个server)
listen 80; #监听端口
server_name _; #监听的域名
}
网站根目录
server {
root /usr/share/nginx/html;
}
引入其他子配置文件
nginx的配置中,一个server块代表一个http服务。即可以有多个http服务。
为了方便配置,可以将不同的server设置不同的配置文件。这些配置文件放在/etc/nginx/conf.d/。
server {
include /etc/nginx/conf.d/*.conf #引入文件内容
}
设置错误页面
当服务器状态错误时,就需要返回错误页面,如状态码404,502。
server {
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
location
location用于匹配url。
nginx可以根据url去做不同的处理。比如,返回某个页面,代理到其他服务器。
比如,做动静分离,静态文件交给静态服务器处理,动态数据交给数据库查询的服务器处理。
- 语法
location [=|~|~*|^~] /url { … }
- 举例
location ~ ^/abc$ { //匹配http://192.168.191.129/abc
……
}
- 匹配模式
空 #模糊匹配(location /test{}可以匹配目录下的目录:/test/test/test.html)
= #精准匹配(location = /test{}不能匹配目录下的目录)
~ #指定的正则区分大小写
~* #指定的正则不区分大小写
^~ #和“空”差不多,但优先级更高(比正则都高)
/ #通用匹配,任何请求都可以被匹配(但优先级最低)
如何使用正则表达式:
.*\.(css|js)$ #以.css或.js结尾
优先级:
(location `=` ) > (location `完整路径` ) > (location `^~` 路径) > (location `~`,`~*` 按定义顺序匹配) > (location 部分起始路径) > (`/`)
注意:
location / {} #可以匹配所有项
- 重定向
server {
rewrite ^/test$ https://test.test.com permanent; #/test重定向到test.test.com(永久重定向)
rewrite ^(.*)$ https://www.test.com$1 permanent; #(.*)匹配所有字符替换$1
}
13-nginx的更多相关文章
- 13 Nginx访问日志分析
#!/bin/bash export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin # Nginx 日志格式: # ...
- 13. nginx,lvs之一
摘要: 1.详细描述常见nginx常用模块和模块的使用示例 2.简述Linux集群类型.系统扩展方式及调度方法 3.简述lvs四种集群有点及使用场景 4.描述LVS-NAT.LVS-DR的工作原理并实 ...
- 13 nginx gzip压缩提升网站速度
一:nginx gzip压缩提升网站速度 我们观察news.163.com的头信息 请求: Accept-Encoding:gzip,deflate,sdch 响应: Content-Encoding ...
- 10.13 Nginx 负载均衡
七层负载均衡server { listen 80; server_name localhost; location / { proxy_pass http://name; //调用集群 } } ups ...
- NGINX引入线程池 性能提升9倍
1. 引言 正如我们所知,NGINX采用了异步.事件驱动的方法来处理连接.这种处理方式无需(像使用传统架构的服务器一样)为每个请求创建额外的专用进程或者线程,而是在一个工作进程中处理多个连接和请求.为 ...
- Nginx中文手册
Nginx 常见应用技术指南[Nginx Tips] 第二版 作者:NetSeek http://www.linuxtone.org (IT运维专家网|集群架构|性能调优) 目 录 一. Nginx ...
- nginx应用总结(1)--基础认识和应用配置
在linux系统下使用nginx作为web应用服务,用来提升网站访问速度的经验已五年多了,今天在此对nginx的使用做一简单总结. 一.nginx服务简介Nginx是一个高性能的HTTP和反向代理服务 ...
- nginx 平滑升级tengine
wget http://tengine.taobao.org/download/tengine-1.5.1.tar.gz //下载Tengine1.5.1版本 tar zxvf tengine-1. ...
- Mac 下 Nginx、MySQL、PHP-FPM 的安装配置
用了3年多的本本罢工,最近新入手了一台 rmbp,一堆工作环境要配置,LNMP 里的 NMP 是常规要安装的,恰好也是第一次在 mac 上安装配置 nginx.mysql.php,所以顺便做个记录,免 ...
- centos python nginx uwsgi
先更新系统,并安装编译环境等等. yum update yum install python python-devel libxml2 libxml2-devel python-setuptools ...
随机推荐
- dotnet 调试应用启动闪退的方法
应用程序如果启动即闪退,那大部分时候日志模块还没初始化完成,很难通过应用自身的启动流程了解到应用启动失败的原因.本文来告诉几个不同的方法用来调查应用启动失败的原因 应用启动失败的原因可能有很多,例如系 ...
- 2019-7-2-WPF-通过-ReadyToRun-提升性能
title author date CreateTime categories WPF 通过 ReadyToRun 提升性能 lindexi 2019-07-02 10:29:55 +0800 201 ...
- vue使用vant的van-tabs+tag在选项卡展示该内容有几条的提示
1.直接写用v-if判断下标展示,会滚动.pass! 2.定位,各种定位,相对各种父元素各种定位,还是会滚,因为tab内容一定滚动,pass 3.手写选项卡+v-if判断,这肯定可行,但本着能用ui组 ...
- 一个支持Sora模型文本生成视频的Web客户端
大家好,我是 Java陈序员. 最近 Open AI 又火了一把,其新推出的文本生成视频模型 -- Sora,引起了巨大的关注. Sora 目前仅仅只是发布预告视频,还未开放出具体的 API. 今天, ...
- 03 Xpath lxml库的安装和使用
Python lxml库的安装和使用 lxml 是 Python 的第三方解析库,完全使用 Python 语言编写,它对 Xpath 表达式提供了良好的支持,因此能够了高效地解析 HTML/XML 文 ...
- 零知识证明: Tornado Cash 项目学习
前言 最近在了解零知识证明方面的内容,这方面的内容确实不好入门也不好掌握,在了解了一些基础的概念以后,决定选择一个应用了零知识证明的项目来进行进一步的学习.最终选择了 Tornado Cash 这个项 ...
- PostgreSQL世界上最先进的开源关系型数据库
PostgreSQL 的 Slogan 是 "世界上最先进的开源关系型数据库". PostgreSQL是一个功能非常强大.源代码开放的对象关系数据库系统(ORDBMS),在灵活的B ...
- Kubernetes Pod调度:从基础到高级实战技巧
本文深入探讨了Kubernetes中的Pod调度机制,包括基础概念.高级调度技术和实际案例分析.文章详细介绍了Pod调度策略.Taints和Tolerations.节点亲和性,以及如何在高流量情况下优 ...
- 自动化发布ansible以及awx相关(持续更新)
一 本文章只介绍ansible的基础知识以及一些组织架构,如何批量的处理等 首先一套部署发布任务在ansible里面都是以role的形式展现,并在执行命令的时候执行role入口以及主机列表 例如:an ...
- 【超详细】宝塔面板安装WordPress程序图文教程
宝塔面板是目前广受用户喜爱的服务器控制面板之一,自己也在用,确实很方便,很多用户的网站都是基于宝塔面板搭建,今天简单介绍下宝塔面板是如何安装WordPress的,方便新手用户快速部署.也方便自己以后查 ...