百万并发下的nginx优化

琉璃12个月前技术文章458

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

相关文章

数据湖技术之iceberg(十三)Iceberg与Hudi对比

Iceberg和Hudi都是数据湖技术,从社区活跃度上来看,Iceberg有超越Hudi的趋势。他们有以下共同点:l   都是构建于存储格式之上的数据组织方式l &nbs...

二进制日志(binlog)

二进制日志(binlog)

一、简介二进制日志(binlog)记录了数据库中所有的DDL和DML(除select语句)操作,语句以“事件”的形式保存,记录了数据库的更改变化,在主从复制和数据恢复中起着重要的作用。但要注意的一点是...

ES部署以及扩容

ES部署以及扩容

单节点RPM包方式部署1、下载RPM包官网下载地址:Download Elasticsearch | Elastic默认下载的为最新版本,如果想要下载历史版本,点击此处查看历史版本此处安装ES7.X...

CDH实操--配置Kerberos服务高可用(一)

CDH实操--配置Kerberos服务高可用(一)

前置条件1.主Kerberos已安装并与CDH集成2.备节点安装Kerberos服务yum -y install krb5-server krb5-libs krb5-auth-dialog krb5...

MySQL运维实战之备份和恢复(8.9)xtrabackup备份指定表

备份部分表如果实例设置了参数innodb_file_per_table,xtrabackup可以备份部分表。通过--tables,--tables-file,--databases,--databas...

MySQL优化器特性(六)表扫描成本计算

全表扫描成本使用optimizer_trace,或者使用explain format=tree, 或者explain format=json,可以查看查询的costmysql> exp...

发表评论    

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