百万并发下的nginx优化

琉璃2年前技术文章687

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

相关文章

单节点Kafka部署并开启Kerberos配置

安装Kerberosserver节点安装kerberos相关软件yum install -y krb5-server krb5-workstation krb5-libs修改配置文件krb5.conf...

PG的pg_stat_statements插件

pg_stat_statements可追踪一个服务器所执行的所有 SQL 语句的执行统计信息,可以用于统计数据库的资源开销,分析TOP SQL。一、插件安装1、编译安装进入postgresql源码目录...

DRDS 整库恢复介绍

DRDS 整库恢复介绍

1 整库恢复注意事项1、PolarDB-X 1.0自动备份策略默认关闭,需要您手动开启。PolarDB-X 1.0日志备份能力依赖下层RDS,PolarDB-X1.0控制台设置的日志备份策略会自动同步...

CDH开启kerberos

CDH开启kerberos

1、依赖条件1、安装openldap-clients,krb5-workstations2、准备好kdcserver 或者AD2、操作步骤1、使用admin用户登录cm页面2、启用kerberos填写...

寻找CPU使用率高进程方法

寻找CPU使用率高进程方法

背景节点报CPU使用率高,需要定位是什么进程占用CPU使用率高。CPU使用率持续较高在对应节点使用 “top”命令,然后键盘输入“P”,即按照CPU使用率排序进程。执行ps -ef | grep &l...

Python 序列化与反序列化

1、为什么要序列化内存中的字典、列表、集合以及各种对象,如何保存到一个文件中?如果是自己定义的类的实例,如何保存到一个文件中?如何从文件中读取数据,并让它们在内存中再次恢复成自己对应的类的实例?要设计...

发表评论    

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