百万并发下的nginx优化

琉璃2年前技术文章843

百万并发下的nginx优化之道

一、nginx地址重写

1、nginx地址重写(rewrite)介绍

nginx地址重写的主要功能是实现URL地址的重定向。服务器获得一个来访的URL请求,然后改写成服务器可以处理的另一个URL

语法格式: rewrite 旧的地址(支持正则) 新的地址 标签(可忽略)

2、主文件配置方式与步骤

① 基本配置转发

[root@localhost ~]# vim /usr/local/nginx/conf/nginx.conf  //编辑主配置文件server {
listen  80;
server_name	web.com.cn;
rewrite  "/a.html$"  /b.html;			//地址重写配置
[root@localhost ~]# /usr/local/nginx/sbin/nginx	-s reload		//重启nginx服务1.2.3.4.5.6.


② 基本正则转发

[root@localhost ~]# vim /usr/local/nginx/conf/nginx.conf  //编辑主配置文件server {
listen  80;
server_name	web.com.cn;
rewrite  ^/  http://www.baidu.com.cn;			//地址重写配置^/指的是匹配/usr/local/nginx/html下的所有网页,访问任何网站的时候都会跳转到baidu.com.cn下
[root@localhost ~]# /usr/local/nginx/sbin/nginx	-s reload		//重启nginx服务1.2.3.4.5.6.


③ 高级正则地址重写

[root@localhost ~]# vim /usr/local/nginx/conf/nginx.conf  //编辑主配置文件server {
listen  80;
server_name	web.com.cn;
rewrite  ^/(.*)$  http://www.baidu.com.cn/$1;			//地址重写配置,使用正则,()代表保留,nginx使用$1代表第一个保留字串,$2则代表第二个保留字串
[root@localhost ~]# /usr/local/nginx/sbin/nginx	-s reload		//重启nginx服务1.2.3.4.5.6.


二、LNMP动态网站

L:linux操作系统 N:Nginx网站服务软件 M:Mysql、MariaDB数据库 P:网站开发语言(PHP)

1、LNMP原理:

nginx: 单独部署,只能处理静态数据; 静态数据:指的是每次打开或者访问的时候,都是看到相同的内容,不会发生变化的 动态数据:每次运行,执行时都可以得到不同的结果


① lnmp对静态数据的处理过程

image.png


② lnmp对动态数据的处理过程

image.png


2、部署LNMP网站

① 搭建nginx

[root@localhost ~]# yum -y install gcc pcre-devel openssl-devel		//安装依赖包[root@localhost ~]# tar -xf nginx-1.16.1   //解压编译包[root@localhost ~]# cd nginx-1.16.1[root@localhost nginx-1.16.1]#--prefix=/usr/local/nginx \
--with-http_ssl_module[root@localhost nginx-1.16.1]# make && make install   //编译安装1.2.3.4.5.6.7.


② 安装MariaDB数据库

[root@localhost ~]# yum -y install mariadb-server mariadb mariadb-devel1.


③ 安装php解释器

[root@localhost ~]# yum -y install php  php-fpm   php-mysql  1.


④ 启动所有服务

[root@localhost ~]# /usr/local/nginx/sbin/nginx   //启动nginx服务[root@localhost ~]# systemctl start mariadb   //开启mariadb服务[root@localhost ~]# systemctl start php-fpm	//开启php-fpm服务[root@localhost ~]# systemctl enable mariadb   //设置mariadb服务开机自启[root@localhost ~]# systemctl enable php-fpm	//设置php-fpm服务开机自启1.2.3.4.5.

三、配置动静分离

1、location语法

localtion /test {
	deny 10.10.10.10;		//拒绝10.10.10.10}
localtion /video {
/*允许20.20.20.20,其它的禁用*/

	allow 20.20.20.20;	
	deny all;
}
localtion / {
	allow all;   //允许所有
}1.2.3.4.5.6.7.8.9.10.11.12.


2、修改配置文件,配置nginx动静分离

[root@localhost ~]# vim /usr/local/nginx/conf/nginx.conf
// location 处理静态网页
localtion / {
	root html;
	index index.html index.htm;
}

location ~\.php$ {
	root html;
	fastcgi_pass	127.0.0.1:9000;				//指定转发请求
	fastcgi_index	index.php;		//php为默认页面
	include 		fastcgi.conf;
}
[root@localhost ~]# /usr/local/nginx/sbin/nginx -s reload	//重启服务
[root@localhost ~]# iptables -F   // 清空防火墙策略

相关文章

热点现象(数据倾斜)怎么产生的,以及解决方法有哪些

热点现象:某个小的时段内,对HBase 的读写请求集中到极少数的Region 上,导致这些region所在的RegionServer 处理请求量骤增,负载量明显偏大,而其他的RgionServer明显...

Spark 对接 Alluxio

Spark 对接 Alluxio

1、概览        Spark 1.1 或更高版本的 Spark可以通过其与 HDFS 兼容的接口直接访问 Alluxio 集群。 使用 Alluxio 作为数据访问层,Spark 应用程序可以透...

数仓主流架构简介之三

数仓主流架构简介之三

一、数仓架构经历过程随着数据量的暴增和数据实时性要求越来越高,以及大数据技术的发展驱动企业不断升级迭代,数据仓库架构方面也在不断演进,分别经历了以下过程:早期经典数仓架构 > 离线大数据架构 &...

大数据集群二次开发及调优使用指导(一)-HDFS

1.   典型业务调优涉及HDFS的相关业务一般可以分为IO密集型业务,计算密集型业务,低延迟业务,高吞吐量业务1.1     低延迟业务计...

REPMGR-PG高可用搭建(一)

REPMGR-PG高可用搭建(一)

PG高可用对比数据库复制的术语和定义这些术语和定义应该有助于讨论复制。在与其他Postgres开发人员进行了大量讨论之后,我编译了它们,但是这些定义应该是普遍可用的,并且也应该适用于其他RDBMS。复...

oracle adg切换

1 主库转备库注意:原则上至多只能有一个主库,但是备库可以多个,所以需要先进行主库转备库操作。1.1 查看主库角色切换状态SYS@proe>select name,database_role,s...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。