1. 1.http://nginx.org/en/download.html 官网下载 Stable version(稳定版本)
      1. wget http://nginx.org/download/nginx-1.16.0.tar.gz
      2.解压nginx压缩包
      1. tar -xzf nginx-1.16.0.tar.gz
      3.nginx.conf 语法高亮
      1. mkdir /root/.vim #创建.vim文件夹
      2. cp -r contrib/vim/* ~/.vim/ #拷贝nginx的工作目录下的conrtib
      4.编译nginx
      1. yum -y install pcre-devel openssl openssl-devel #下载编译需要的模块
      2. ./configure --prefix=/usr/local/nginx #配置
      3. make #编译
      4. make install #安装
      5.nginx基本指令
      1. ./nginx #启动nginx服务
      2. ./nginx -s stop #立即停止服务
      3. ./nginx -s quit #优雅的停止服务
      4. ./nginx -s reload #重载配置文件
      5. ./nginx -s reopen #重新开始记录日志文件
      6. ./nginx -t #测试配置文件是否有语法错误
      7. ./nginx -v #打印nginx的版本信息
      8. ./nginx -V #打印编译信息等
      6.nginx搭建静态服务器
      1. http {
      2. server {
      3. listen 7000; #监听端口
      4. server_name localhost; #监听域名
      5. charset utf-8,gbk; #中文解码
      6. access_log logs/luoluoworklog.log main; #记录日记 main为http模块log_format变量
      7. location / {
      8. alias luoluowork/;
      9. autoindex on; #查看文件目录
      10. set $limit_rate 1k; #设置每次响应速率,每秒1K
      11. }
      12. error_page 500 502 503 504 /50x.html;
      13. location = /50x.html {
      14. root html;
      15. }
      16. }
      17. }
      alias 和 root的区别
      image.png

    7.gzip压缩

    1. http {
    2. gzip on;
    3. gzip_min_length 1k;
    4. gzip_buffers 4 16k;
    5. #gzip_http_version 1.0;
    6. gzip_comp_level 2;
    7. gzip_types text/plain application/x-javascript text/css application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png;
    8. gzip_vary off;
    9. gzip_disable "MSIE [1-6]\.";
    10. }
    11. 1行:开启Gzip
    12. 2行:不压缩临界值,大于1K的才压缩,一般不用改
    13. 3行:buffer,就是,嗯,算了不解释了,不用改
    14. 4行:用了反向代理的话,末端通信是HTTP/1.0,有需求的应该也不用看我这科普文了;有这句的话注释了就行了,默认是HTTP/1.1
    15. 5行:压缩级别,1-10,数字越大压缩的越好,时间也越长,看心情随便改吧
    16. 6行:进行压缩的文件类型,缺啥补啥就行了,JavaScript有两种写法,最好都写上吧,总有人抱怨js文件没有压缩,其实多写一种格式就行了
    17. 7行:跟Squid等缓存服务有关,on的话会在Header里增加"Vary: Accept-Encoding",我不需要这玩意,自己对照情况看着办吧
    18. 8行:IE6Gzip不怎么友好,不给它Gzip

    9.log_format 日志格式

    1. http {
    2. log_format main '"panpan" $remote_addr - $remote_user [$time_local] "$request" '
    3. '$status $body_bytes_sent "$http_referer" '
    4. '"$http_user_agent" "$http_x_forwarded_for"';
    5. }

    8.反向代理

    1. http{
    2. upstream local {
    3. server 127.0.0.1:7000; #代理本机的7000端口
    4. }
    5. server {
    6. listen 7001;
    7. server_name localhost;
    8. location / {
    9. proxy_set_header Host $host; # 传递请求头
    10. proxy_set_header X-Real-IP $remote_addr; # 传递客户端源地址
    11. proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    12. proxy_pass http://local; # 跳转到反向代理
    13. }
    14. }

    9.缓存代理(将代理的服务器访问数据缓存下来)

    1. http {
    2. #在http模块添加配置
    3. proxy_cache_path /tmp/nginxcache levels=1:2 keys_zone=mycache:20m
    4. max_size=2048m inactive=60m use_temp_path=off;
    5. #proxy_cache //存放缓存临时文件
    6. #levels //按照两层目录分级
    7. #keys_zone //开辟空间名,10m:开辟空间大小,1m可存放8000key
    8. #max_size //控制最大大小,超过后Nginx会启用淘汰规则
    9. #inactive //60分钟没有被访问缓存会被清理
    10. #use_temp_path //临时文件,会影响性能,建议关闭
    11. server {
    12. #在location加如下配置
    13. location / {
    14. proxy_cache mycache;
    15. proxy_cache_valid 200 302 304 60m; #缓存60分钟
    16. proxy_cache_valid any 10m; #其余状态码缓存10分钟
    17. proxy_cache_key $host$uri$is_args$args;
    18. proxy_pass http://local;
    19. }
    20. }
    21. }

    10.goaccess可视化日志web分析工具

    1. #官网 https://www.goaccess.cc/

    11.SSL/TSL发展
    image.png
    12.TLS安全密码套件解读
    image.png
    13.对称加密
    image.png
    image.png
    13.非对称加密
    image.png