百万并发下的nginx优化

琉璃2年前技术文章729

百万并发下的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   // 清空防火墙策略

相关文章

doris数据删除恢复

用户执行命令drop database/table/partition之后,再使用命令recover来恢复整个数据库/表/分区的所有数据。这种修复将会把FE上的数据库/表/分区的结构,从catalog...

Redis 主从同步

Redis 主从同步

前言在分布式系统中为了解决单点问题,通常会把数据复制到多个副本部署到其它机器,满足故障恢复和负载均衡需求。Redis 也提供了复制功能,实现相同数据多个 Redis 副本。本篇文章介绍如何配置 Red...

HDFS分层存储(一)

1、介绍Hadoop分布式文件系统支持在HDFS中的各种存储类型。现在,您可以为DataNode数据目录指定不同的存储类型,这样可以根据数据使用频率优化数据使用并降低成本。例如需要频繁使用的数据,可以...

DRDS SQL闪回介绍

DRDS SQL闪回介绍

1、SQL闪回注意事项1、SQL闪回依赖RDS BINLOG保存时间,需要注意开启binlog备份。2、SQL闪回生成的恢复文件默认保存7天,闪回sql后需要尽快执行。3、SQL闪回精确匹配需要满足如...

rancher上kube-prometheus部署报错处理

rancher上kube-prometheus部署报错处理

问题描述rancher 上安装kube-prometheus,版本:8.3.9  ,Chart 仓库:bitnami 服务 pod: prometheus-kube-prometheus-promet...

Kubernetes openelb

1、背景在云服务环境中的 Kubernetes 集群里,通常可以用云服务提供商提供的负载均衡服务来暴露 Service,但是在本地没办法这样操作。而 OpenELB 可以让用户在裸金属服务器、边缘以及...

发表评论    

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