### 常用设置
> nginx默认配置说明:\[[http://www.nginx.cn/76.html](http://www.nginx.cn/76.html)\]
~~~
groupadd www
useradd -g www www
chown -R www:www /bigdata2/
chmod -R 777 /bigdata2/cache
chmod -R 777 /bigdata2/public
~~~
### 【http】开启Gzip压缩
~~~
#开启Gzip,默认值:off
gzip on;
#不压缩临界值,大于1K的才压缩,默认值是0,不管页面多大都压缩,建议1K
gzip_min_length 1k;
#表示按照原始数据大小以 16k 为单位的4倍申请内存。
gzip_buffers 4 16k;
#用了反向代理的话,末端通信是HTTP/1.0,有这句的话注释了就行了,默认是HTTP/1.1
#gzip_http_version 1.0;
#压缩级别,1-10,数字越大压缩的越好,时间也越长,默认值: 1
gzip_comp_level 3;
#进行压缩的文件类型,缺啥补啥就行了,JavaScript有两种写法,最好都写上吧,总有人抱怨js文件没有压缩,其实多写一种格式就行了
gzip_types text/plain application/x-javascript text/css application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png;
# 是否在http header中添加Vary: Accept-Encoding,建议开启
gzip_vary on;
#IE6对Gzip不怎么友好,不给它Gzip了
gzip_disable "MSIE [1-6]\.";
~~~
### 每个站点单独配置文件
~~~
打开nginx.conf文件
sudo vi /usr/local/nginx/conf/nginx.conf
将虚拟目录的配置文件加入到”http {}”部分的末尾
http {
...
include /usr/local/nginx/conf/vhost/*.conf;
}
在Nginx配置目录下,创建一个”vhost”目录。配置目录在”/usr/local/nginx/conf/”
$ sudo mkdir /usr/local/nginx/conf/vhost
创建siteA的配置文件,填入常用配置
$ sudo vi /usr/local/nginx/conf/vhost/vhost_siteA.conf
输入以下配置信息
server {
listen 80; # 监听端口
server_name www.siteA.com siteA.com; # 站点域名
root /home/user/www/blog; # 站点根目录
charset utf-8;
#默认请求
location / {
index index.html index.htm index.php; # 默认导航页
}
#PHP 脚本请求全部转发到 FastCGI处理. 使用FastCGI默认配置.
location ~ \.php(.*)$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_split_path_info ^((?U).+\.php)(/?.+)$;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;
include fastcgi_params;
}
}
~~~
### 【server,location】rewrite域名IP,url重写
~~~
#重写url,将index.php隐藏掉
#默认请求
location / {
if (!-e $request_filename) {
rewrite ^(.*)$ /index.php?s=$1 last;
break;
}
}
~~~
### 【server,location】跨域访问
~~~
#默认请求
location / {
#授权从那个域名的请求可跨域,“*”表示所有域名
add_header 'Access-Control-Allow-Origin' '*';
#当该标志为真时,响应于该请求是否可以被暴露
add_header 'Access-Control-Allow-Credentials' 'true';
#指定请求的方法,可以是GET,POST等
add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS';
}
~~~
### 【server,location】FastCGI模块配置
> 文档参考:[http://blog.csdn.net/bytxl/article/details/18841695](http://blog.csdn.net/bytxl/article/details/18841695)
~~~
#设置缓存的关键字,默认:none
fastcgi_cache_key $request_method:#$host$request_uri;
fastcgi_cache_path /data/cache/fastcgi_cache levels=1:2
keys_zone=TEST:10m
inactive=5m;
#指定同FastCGI服务器的连接超时时间,这个值不能超过75秒,默认60。
fastcgi_connect_timeout 75;
#指令指定请求服务器的超时时间,指完成了2次握手的连接,而不是完整的连接,如果在这期间客户端没有进行数据传递,那么服务器将关闭这个连接。
fastcgi_send_timeout 30000;
#前端FastCGI服务器的响应超时时间,如果有一些直到它们运行完才有输出的长时间运行的FastCGI进程,或者在错误日志中出现前端服务器响应超时错误,可能需要调整这个值。
fastcgi_read_timeout 30000;
#这个参数指定将用多大的缓冲区来读取从FastCGI进程到来应答头。
fastcgi_buffer_size 16k;
#这个参数指定了从FastCGI进程到来的应答,本地将用多少和多大的缓冲区读取。
fastcgi_buffers 16 16k;
fastcgi_busy_buffers_size 16k;
fastcgi_temp_file_write_size 16k;
#为缓存实际使用的共享内存指定一个区域,相同的区域可以用在不同的地方。
fastcgi_cache TEST;
#将响应状态码为200和302缓存1小时,301缓存1天,任何一个缓存1分钟。
fastcgi_cache_valid 200 302 1h;
fastcgi_cache_valid 301 1d;
fastcgi_cache_valid any 1m;
#指令指定了经过多少次请求的相同URL将被缓存。
fastcgi_cache_min_uses 1;
#在某些网关错误、超时的情况下,nginx都将传送过期的缓存数据。
fastcgi_cache_use_stale error timeout invalid_header http_500;
~~~
### 【server,location】静态文件缓存
~~~
#max指定缓存数量 inactive是指经过多长时间文件没被请求后删除缓存。
open_file_cache max=204800 inactive=20s;
#在上述时间中没有使用到这个配置的如下次数的话就删除
open_file_cache_min_uses 1;
#多少时间检查一次,如果发现inactive时间内没有用过一次的删除
open_file_cache_valid 30s;
~~~
### IP直接访问
~~~
server {
listen 10.1.1.11:80 default_server;
#server_name www.eq.com ;
root /bigdata2/public;
location / {
index index.html index.htm index.php;
#autoindex on;
}
location ~ \.php(.*)$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_split_path_info ^((?U).+\.php)(/?.+)$;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;
include fastcgi_params;
}
}
~~~
- GitHub-资源收集
- 【GitHub/Gitee】收录总榜单
- 【Office & Markdown & PDF】资源收集
- 【前端】资源收集
- 【开源项目】资源收集
- 【代码备份】资源收集
- 【代码加密】资源收集
- 【好文章推荐】资源收集
- Java大数据实践
- 基础实验操作
- 【一】基础操作实验
- HDFS
- 【二】部署HDFS
- 【三】读写HDFS文件
- YARN
- 【四】部署YARN集群
- MapReduce
- 【五】单词计数
- Hive
- 【十】部署Hive
- 【十一】新建Hive表
- 【十二】Hive分区
- ZooKeeper
- 【二十】部署ZooKeeper
- 【二十一】进程协作
- HBase
- 【二十二】部署HBase
- 【二十三】新建HBase表
- Storm
- 【二十四】部署Storm
- 【二十五】实时WordCountTopology
- Kafka
- 【二十七】Kafka订阅推送示例
- Redis
- 【二十九】Redis部署与简单使用
- 【三十】MapReduce与Spark读写Redis
- MongoDB
- 【三十一】读写MongoDB
- PHP实践
- 环境搭建
- PHP安装
- macOS搭建PHP开发环境
- laravel
- 【Laravel-admin】实践方案
- 技术选型
- 技术选型结果
- PHP开发流程
- Laravel自带异常
- 技术选型问题 & 解决方法
- 修改(Admin)文件夹路径
- 两个用户表合并
- 创建Token,获取接口数据
- CreateFreshApiToken中间件使用
- Generator从表生成文件,不包括迁移文件
- 添加用户的同时生产令牌
- 其它参考文章
- Laravel-admin常见问题
- form(),show()获取对象数据
- Form右上角按钮重写
- form回调中的错误提醒,回调传参
- 【小工具类】实践方案
- 字符串
- 数组
- 无限级分类递归
- 时间
- 正则表达式
- 文件
- 经纬度、时区
- DataEdit快捷操作类库
- 数据库表结构管理
- 【Guzzle】实践方案---工具类
- 【队列---Laravel-Horizon 】实践方案
- 【laravel-snappy】实践方案
- 【开发规范】实践方案
- PHP深入学习
- 缓存在高并发场景下的常见问题
- 一、缓存一致性问题
- 二、缓存并发问题
- 三、缓存穿透问题
- 四、缓存颠簸问题
- 五、缓存的雪崩现象
- 六、缓存无底洞现象
- Laravel源码解析(知识点)
- 闭包、IOC容器服务绑定延迟加载
- 延迟静态绑定基类
- 反射,依赖注入
- __callStatic 魔术方法,Facade 工作原理
- array_reduce,中间件解析
- Eloquent核心
- 线程、进程、协程
- Linux进程、线程、协程
- poll、epoll
- epoll原理
- Liunx线程调度算法
- 红黑树
- 同步/异步、阻塞/非阻塞
- PHP-FPM
- Nginx
- Git-PHPStorm-Composer工具使用
- git常用命令
- .gitignore忽略规则
- PHPStorm第一次使用
- PHPStorm关联gitlab
- 在Docker中使用Xdebug
- PHPStorm中使用Xdebug调试
- PHP Xdebug 远程调试
- Composer修改镜像源
- Swoole
- Go
- 惊群问题
- 线程模型比较
- 并发模型比较
- Lua
- OpenResty
- 数据一致性
- 悲观锁--VS--乐观锁
- 事务--mysql VS redis
- 事务嵌套--Doctrine VS Laravel
- 单体应用中执行顺序问题
- 数据一致性问题描述
- 分布式理论
- 数据一致性---接口幂等性
- 分布式事务---2PC VS 3PC
- 分布式事务---TCC
- 分布式事务---基于消息
- 接口安全性
- Nginx
- 优化常识
- nginx常用优化
- nginx解决本地开发时调用远程AIP跨域问题
- Nginx反向代理实现均衡负载
- 大型网站架构演变
- Keepalived+Nginx 高可用集群(主从模式)
- MySQL
- 关于最重要的参数选项调整建议
- 索引,Explain优化工具
- 事务级别
- sql好的书写习惯
- limit(分页)
- 赶集网Mysql36条军规
- 分库分表技术演进&最佳实践
- MariaDB 和 MySQL 全面对比
- 永远不要在 MySQL 中使用“utf8”
- 看云--推荐的Mysql优化
- 完整、详细的MySQL规范
- 慢查询日志
- pt-query-digest结果分析
- Oracle
- Oracle数据库备份/导出(exp/expd)、导入(imp/impd)
- [Oracle]EXPDP和IMPDP数据泵进行导出导入的方法
- 使用PLSQL进行Oracle数据导入导出
- Redis
- 看云-推荐的redis学习
- Memcache和Redis不同
- 阿里云Redis开发规范
- Centos7
- 虚拟机配置网络
- 硬盘挂载、分区、文件大小
- 防火墙(firewalld、firewalld-cmd、systemctl、iptables)
- 两个机器互相拷贝文件
- 查进程、查端口
- 压缩、解压
- 查看物理CPU个数、CPU内核数、线程数
- apt-get源--阿里
- Docker
- Dockerfile制作常用命令
- registry私有仓库
- PHP_7.2
- Dockerfile
- php.ini
- 使用说明
- Nginx_1.15
- Dockerfile
- nginx.conf
- prod_nginx.conf
- 使用说明
- MySql_5.7
- Dockerfile
- my.cnf
- 使用说明
- redmine_3.4
- Dockerfile
- 使用说明
- gitlab-ce_11.9.6-ce.0
- 使用说明
- Redis_5.0
- Dockerfile
- redis.conf
- 使用说明
- Jenkins
- Dockerfile
- 使用说明
- webssh--python3.7
- Dockerfile
- 使用说明
- 进阶使用
- 高阶使用
- minio
- 使用说明
- aws_cloud9_ide
- 使用说明-aws
- VNC
- 使用说明
- jdk1.8——yum安装
- tomcat9——安装
- guacamole——0.9.13
- libreoffice
- Dockerfile
- 使用说明
- Kubernetes
- kubectl常用命令
- 环境搭建(1.9.6)
- kubernetes1.9.6墙内离线部署
- kubernetes1.9.6单机器部署
- helm安装
- helm常用命令
- Laradock
- Swoole
- 环境的搭建
- swoole的简单实例
- 服务端的cli方式运行
- 客户端的运行方式
- 定时任务的入门
- 删除定时任务
- 初始化定时任务
- 日志管理
- 具体任务的异常捕获
- 手动重启shell脚本
- Elasticsearch
- Elasticsearch检索实践
- 读后感
- 【读书】登天的感觉——岳晓东
- 【读书】为何家会伤人——武志红
- 【读书】思考与致富——拿破仑-希尔
- 【感受】做事讲方法
- 【感受】未来畅想
- 【素材】智力问答
- 【百家】曾国藩家训
- 【百家】正说和珅
- 【感受】谈判小技巧
- 【读书】股票作手回忆录——利弗莫尔
- 【感受】最幸福的人——工匠
- 【收藏】土味情话大合集
- 【读书】解忧杂货店——东野圭吾
- 【读书】把时间当作朋友——李笑来
- 【感受】舆论和八卦
- 【读书】老人与海——海明威
- 【读书】必然——凯文凯利
- 【经典】逍遥游——庄周