分类
Nginx Web 笔记

Nginx https 反向代理 http

在Docker中运行WEB应用,由主机Nginx反向代理。由于Docker中的应用是http,而反向代理强制使用https,会遇到有些情况代理失败。

只要在配置中加上

proxy_set_header X-Forwarded-Proto https;

完整配置:

server {
    listen 80;
    listen [::]:80;
    server_name engr-z.com www.engr-z.com;
#    enforce https
    return 301 https://$server_name:443$request_uri;
}

server {
    listen 443 ssl;
    listen [::]:443 ssl;
    server_name engr-z.com www.engr-z.com;

    client_max_body_size 1G;

    ssl_certificate /data/www/cert/engr-z.com_nginx/cert.pem;
    ssl_certificate_key /data/www/cert/engr-z.com_nginx/cert.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;

    location / {
        proxy_pass http://127.0.0.1:8001/;
        proxy_set_header Host $host;
        proxy_set_header X-Real-Ip $remote_addr;
        proxy_set_header X-Forwarded-For $remote_addr;
        proxy_set_header X-Forwarded-Proto https;
#        proxy_cookie_path / /;
    }
}
分类
Nginx PHP 笔记

站点优化笔记

本站开通也有好几年了,除了更新几次主题,自定义几个样式和几处微调,没什么做大的改动。这次心血来潮把它优化一波,为后面使用打下基础。

次此优化主要是:

  1. 优化php配置
  2. 优化wordpress一些不适合国情的东西(你懂的)
  3. 优化链接便于搜索引擎收录
分类
Nginx PHP 笔记

Nginx启用php支持

在apache中启用php很简单,apache有phpmodule模块,集成进去就OK。在nginx中启用php支持稍有些不同。

1、nginx的worker进程直接管理每一个请求到nginx的网络请求。

2、对于php而言,由于在整个网络请求的过程中php是一个cgi程序的角色,所以采用名为php-fpm的进程管理程序来对这些被请求的php程序进行管理。php-fpm程序也如同nginx一样,需要监听端口,并且有master和worker进程。worker进程直接管理每一个php进程。

3、关于fastcgi:fastcgi是一种进程管理器,管理cgi进程。市面上有多种实现了fastcgi功能的进程管理器,php-fpm就是其中的一种。再提一点,php-fpm作为一种fast-cgi进程管理服务,会监听端口,一般默认监听9000端口,并且是监听本机,也就是只接收来自本机的端口请求,所以我们通常输入命令 netstat -nlpt|grep php-fpm 会得到:
tcp 0 0 127.0.0.1:9000 0.0.0.0:* LISTEN 1057/php-fpm
这里的127.0.0.1:9000 就是监听本机9000端口的意思。