- 1.http://nginx.org/en/download.html 官网下载 Stable version(稳定版本)
2.解压nginx压缩包wget http://nginx.org/download/nginx-1.16.0.tar.gz
3.nginx.conf 语法高亮tar -xzf nginx-1.16.0.tar.gz
4.编译nginxmkdir /root/.vim #创建.vim文件夹
cp -r contrib/vim/* ~/.vim/ #拷贝nginx的工作目录下的conrtib
5.nginx基本指令yum -y install pcre-devel openssl openssl-devel #下载编译需要的模块
./configure --prefix=/usr/local/nginx #配置
make #编译
make install #安装
6.nginx搭建静态服务器./nginx #启动nginx服务
./nginx -s stop #立即停止服务
./nginx -s quit #优雅的停止服务
./nginx -s reload #重载配置文件
./nginx -s reopen #重新开始记录日志文件
./nginx -t #测试配置文件是否有语法错误
./nginx -v #打印nginx的版本信息
./nginx -V #打印编译信息等
alias 和 root的区别http {
server {
listen 7000; #监听端口
server_name localhost; #监听域名
charset utf-8,gbk; #中文解码
access_log logs/luoluoworklog.log main; #记录日记 main为http模块log_format变量
location / {
alias luoluowork/;
autoindex on; #查看文件目录
set $limit_rate 1k; #设置每次响应速率,每秒1K
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
}
7.gzip压缩
http {
gzip on;
gzip_min_length 1k;
gzip_buffers 4 16k;
#gzip_http_version 1.0;
gzip_comp_level 2;
gzip_types text/plain application/x-javascript text/css application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png;
gzip_vary off;
gzip_disable "MSIE [1-6]\.";
}
第1行:开启Gzip
第2行:不压缩临界值,大于1K的才压缩,一般不用改
第3行:buffer,就是,嗯,算了不解释了,不用改
第4行:用了反向代理的话,末端通信是HTTP/1.0,有需求的应该也不用看我这科普文了;有这句的话注释了就行了,默认是HTTP/1.1
第5行:压缩级别,1-10,数字越大压缩的越好,时间也越长,看心情随便改吧
第6行:进行压缩的文件类型,缺啥补啥就行了,JavaScript有两种写法,最好都写上吧,总有人抱怨js文件没有压缩,其实多写一种格式就行了
第7行:跟Squid等缓存服务有关,on的话会在Header里增加"Vary: Accept-Encoding",我不需要这玩意,自己对照情况看着办吧
第8行:IE6对Gzip不怎么友好,不给它Gzip了
9.log_format 日志格式
http {
log_format main '"panpan" $remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
}
8.反向代理
http{
upstream local {
server 127.0.0.1:7000; #代理本机的7000端口
}
server {
listen 7001;
server_name localhost;
location / {
proxy_set_header Host $host; # 传递请求头
proxy_set_header X-Real-IP $remote_addr; # 传递客户端源地址
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://local; # 跳转到反向代理
}
}
9.缓存代理(将代理的服务器访问数据缓存下来)
http {
#在http模块添加配置
proxy_cache_path /tmp/nginxcache levels=1:2 keys_zone=mycache:20m
max_size=2048m inactive=60m use_temp_path=off;
#proxy_cache //存放缓存临时文件
#levels //按照两层目录分级
#keys_zone //开辟空间名,10m:开辟空间大小,1m可存放8000key
#max_size //控制最大大小,超过后Nginx会启用淘汰规则
#inactive //60分钟没有被访问缓存会被清理
#use_temp_path //临时文件,会影响性能,建议关闭
server {
#在location加如下配置
location / {
proxy_cache mycache;
proxy_cache_valid 200 302 304 60m; #缓存60分钟
proxy_cache_valid any 10m; #其余状态码缓存10分钟
proxy_cache_key $host$uri$is_args$args;
proxy_pass http://local;
}
}
}
10.goaccess可视化日志web分析工具
#官网 https://www.goaccess.cc/
11.SSL/TSL发展
12.TLS安全密码套件解读
13.对称加密
13.非对称加密