php-fpm与静态文件web代理服务器nginx配置

本文详细介绍了Nginx的各种实用配置技巧,包括静态文件缓存、IP访问限制、目录保护、防盗链设置以及文件下载速度限制等内容,并展示了如何配置PHP框架的单一路由入口和fpm,还提供了HTTPS配置实例。

nginx 版本:1.10.1。 主要涉及到的方面有:静态文件缓存、ip访问限制、目录保护、静态文件防盗链及文件下载速度限制等,后端php框架单一路由入口配置。如无特殊说明,下列代码是nginx配置文件,具体使用方法可以查询nginx官方文档

静态文件缓存
#更新静态文件可以使用gulp
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
{
      expires 1M; 	#  	1M代表一个月,1y代表一年,1s代表一秒
}
location ~ .*\.(js|css)$
{
       expires 1d; 	# 	代表缓存一天
}
ip访问限制
# allow支持子网掩码
allow 114.245.32.39; allow 101.226.0.0/16;
deny all;
目录保护

如果打开的是静态页面或图片等非php文件,会提示要输入密码,但是,如果打开的是php文件,则设置无效,会直接执行php文件。

Nginx保护目录的配置如下,目录密码保护文件是 /etc/nginx/htpasswd,生成密码文件:

htpasswd -b -c /etc/nginx/htpasswd username password;

location ~ /admin {								#admin为要保护的目录名称,location 的意思就是保护从网页根目录算起的admin 目录
	auth_basic          ”PLEASE LOGIN”;			#就是进入资料夹时会显示的信息
	auth_basic_user_file /etc/nginx/htpasswd;	#验证用户及密码文件
}
静态文件防盗链
location ~* \.(txt|ico|gif|png|bmp|jpg|jpeg|zip|rar|gz|7z|exe|mp3|flv|swf)$ {
	valid_referers none blocked easygaokao.com www.easygaokao.com;
	if ($invalid_referer) {
		rewrite ^/ http://www.easygaokao.com/dev.html;	# 盗链跳转地址
	}
}
文件下载速度限制

设定一个叫做 crawler 的区域,大小为 20MB

limit_zone crawler $binary_remote_addr 20m;

然后在 server 的区段加上

location ~ .*\.(zip|rar|gz|tar|exe|mp3|flv|swf|jpg|jpeg)$
{
	limit_conn crawler 1; 	# 限制档案类型只能单线下载
	limit_rate 500k; 		# 再加上限速速率
}
后端php框架单一路由入口配置及fpm配置

这是laravel的入口配置

location / {
	try_files $uri $uri/ /index.php?$query_string;
}

php-fpm的sock配置

location ~ \.php$ {
    fastcgi_split_path_info ^(.+\.php)(/.+)$;
    #fastcgi_pass 127.0.0.1:9000;				# 端口配置
    fastcgi_pass unix:/var/run/php7.0-fpm.sock;	# socket文件配置,性能更优
    fastcgi_index index.php;
    include fastcgi_params;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    fastcgi_intercept_errors off;
    fastcgi_buffer_size 16k;
    fastcgi_buffers 4 16k;
    fastcgi_connect_timeout 300;
    fastcgi_send_timeout 300;
    fastcgi_read_timeout 300;
}
https配置
server {
    listen 443;										# 默认端口443
    server_name easygaokao.com;
    ssl on; 										# 开启ssl
    ssl_certificate   cert/214016068200359.pem;		# 证书文件
    ssl_certificate_key  cert/214016068200359.key;	# 证书文件
    ssl_session_timeout 5m;
    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_prefer_server_ciphers on;
    # 以下省略其它配置
}

转载于:https://my.oschina.net/zho/blog/842044

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值