百万并发下的nginx优化

琉璃2年前技术文章688

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

相关文章

CDH实操--集群卸载

CDH实操--集群卸载

1、停止正在运行的服务a、控制台停止集群服务b、控制台停止Cloudera Management Servicec、命令行停止cm服务systemctl stop cloudera-scm-agent...

MySQL索引与事务的透析——(超详解)

MySQL索引与事务的透析——(超详解)

索引2.1索引存在意义在数据库使用select查询数据的时候有以下几个步骤:1.先遍历表;2.在把当前的行带入条件看条件是否成立;3.若成立则保留,反之就不保留,跳过;那么在一个表的数据非常大的时候,...

使用 cgroups为impala设置 CPU 限制

使用 cgroups为impala设置 CPU 限制

有时应用会占用大量 CPU 时间,这可能会对环境的整体健康状况造成负面影响。使用 /sys/fs/ 虚拟文件系统,利用 控制组版本 (cgroups) 为应用配置 CPU 限制。先决条件您有 roo...

开源大数据集群部署(十六)Hadoop集群部署(一)

按照上文中hadoop集群规划进行安装。1 HADOOP集群安装在hd1.dtstack.com主机root权限下安装hadoop集群Ø 解压[root@hd1.dtstack.com softwar...

REPMGR-PG高可用搭建(一)

REPMGR-PG高可用搭建(一)

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

HDFS迁移参数说明

HDFS迁移命令如下:hadoop distcp -Ddfs.namenode.kerberos.principal.pattern=* -Dmapreduce.job.hdfs-servers.to...

发表评论    

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