ผมใช้ NGINX ร่วมกับ PHP-FPM ครับ
โดยใช้ PHP-FPM เป็น backend server
แล้วผมก็อยากจะสร้าง cache หน้าต่างๆไว้ โดยใช้ nginx ครับ
ตามรายละเอียดดังนี้ครับ
server {
listen 234.234.234.234:80;
server_name 234.234.234.234
root /home/admin/web/234.234.234.234/public_html;
index index.php index.html index.htm;
access_log /var/log/nginx/domains/234.234.234.234.log combined;
access_log /var/log/nginx/domains/234.234.234.234.bytes bytes;
error_log /var/log/nginx/domains/234.234.234.234.error.log error;
location / {
proxy_pass http://234.234.234.234:8080;
proxy_cache 234.234.234.234;
proxy_cache_valid 15m;
proxy_cache_valid 404 1m;
proxy_no_cache $no_cache;
proxy_cache_bypass $no_cache;
proxy_cache_bypass $cookie_session $http_x_update;
location ~* ^.+\.(jpeg|jpg|png|gif|bmp|ico|svg|css|js)$ {
expires max;
}
location ~ [^/]\.php(/|$) {
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
if (!-f $document_root$fastcgi_script_name) {
return 404;
}
fastcgi_pass 127.0.0.1:9001;
fastcgi_index index.php;
include /etc/nginx/fastcgi_params;
}
}
error_page 403 /error/404.html;
error_page 404 /error/404.html;
error_page 500 502 503 504 /error/50x.html;
location /error/ {
alias /home/admin/web/234.234.234.234/document_errors/;
}
location ~* "/\.(htaccess|htpasswd)$" {
deny all;
return 404;
}
location @fallback {
proxy_pass http://234.234.234.234:8080;
}
include /etc/nginx/conf.d/phpmyadmin.inc*;
include /etc/nginx/conf.d/phppgadmin.inc*;
include /etc/nginx/conf.d/webmail.inc*;
include /home/admin/conf/web/nginx.234.234.234.234.conf*;
}
ซึ่งก็รัน NGINX ได้ปกติครับ ขึ้นสถานะ OK
แต่พอลองเข้าเว็บดูกลับ Error ว่า 500 Internal Server Error
เลยลองเช็คใน log ดู มันแจ้งว่าดังนี้ครับ
2016/08/30 15:39:37 [error] 19504#19504: *1 connect() failed (111: Connection refused) while connecting to upstream, client: xxx.xxx.xxx.xxx, server: 139.59.232.182, request: "GET / HTTP/1.1", upstream: "http://234.234.234.234:8080/", host: "234.234.234.234"
ไม่ทราบว่าแก้ไขยังไงได้บ้างครับ
ขอบคุณครับ