简单配置
server {
listen 81;
server_name java-er.com;
root /www/java-er.com;
location / {
index index.html index.htm index.php;
}
location ~ \.php$ {
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include /etc/nginx/fastcgi_params;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
}
error_page 404 /404.html;
location = /40x.html {
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
}
}
Nginx SSl
ssl on;
ssl_certificate /www/javaer.com/ssl/full_chain.pem;
ssl_certificate_key /www/javaer.com/ssl/private.key;
ssl_session_timeout 5m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
WordPress 的URLREWRITE
if (!-e $request_filename){
rewrite (.*) /index.php;
}
完整配置
server {
listen 80;
listen 443 ssl; #监听两个端口
server_name java-er.com;
root /www/javaer.com;
ssl_certificate /www/javaer.com/ssl/full_chain.pem;
ssl_certificate_key /www/javaer.com/ssl/private.key;
location / {
index index.html index.htm index.php;
if (!-e $request_filename) {
rewrite (.*) /blog/index.php;
}
}
location ~ \.php$ {
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include /etc/nginx/fastcgi_params;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
}
error_page 404 /404.html;
location = /40x.html {
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
}
}
php-fpm的理解
1. 客户端通过http协议访问网站域名
2. Nginx接受请求,并路由转到index.php
3. 加载fastcgi模块
4. Fastcgi监听127.0.0.1:9000地址
5. 然后访问到达127.0.0.1:9000
6. php-fpm监听127.0.0.1:9000,也就接收到了请求
7. Fpm的master主进程,分配子进程去处理请求
8. 处理完成后,返回结果给nginx
9. Nginx通过http协议响应给客户端