我计划将我的网站 (drupal 6.25) 从 apache 切换到 nginx。我已经为 nginx 做好了一切准备,并在端口 81 上进行了测试。它运行良好。现在我将 listen 从 81 改为 80,停止 apache 并启动 nginx。网站开始给出
504网关超时 nginx/0.8.54
并且不提供任何服务 :( 我的 nginx 服务器是
服务器 { 听 80 积压=128; 根目录/var/www/web1/htdocs; 索引 index.php index.html index.htm; 服务器名称www.example.com; 地点 / { 如果(!-e $请求文件名){ 重写 ^/(.*)$ /index.php?q=$1 最后; } } 访问日志/var/log/nginx.web1.log; error_log /var/log/nginx.web1.error.log 错误; 位置 ~* ^.+\.(jpg|jpeg|gif|css|png|js|ico)$ { 重写 ^/favicon.ico$ /sites/all/themes/sky/favicon.ico 中断; 访问登录关闭; 30天后到期; } 位置 ~ \.php$ { 包括/etc/nginx/fastcgi_params; #fastcgi_pass 127.0.0.1:9000;#我也尝试过这个选项 fastcgi_pass unix:/tmp/php.socket; fastcgi_index索引.php; fastcgi_param SCRIPT_FILENAME /var/www/web1/htdocs/$fastcgi_script_name; } }
并且 nginx.conf 包含:
用户www数据; 工作进程 5; pid /var/run/nginx.pid; 事件 { 工作者连接64; # 多接受开启; } http { ## # 基本设置 ## 发送文件; tcp_nopush 开启; tcp_nodelay开启; 保持活动超时 65; 保持活动请求 20; 类型_hash_max_size 2048; # 服务器令牌关闭; #服务器名称_哈希桶大小 64; #服务器名称_in_redirect 关闭; 包括/etc/nginx/mime.types; 默认类型应用程序/八位字节流; ## # 日志设置 ## 访问日志/var/log/nginx/access.log; 错误日志/var/log/nginx/error.log; ## # Gzip 设置 ## 开启 gzip; gzip_static 开启; gzip_禁用“msie6”; #gzip_vary开启; #gzip_proxied任何; #gzip_comp_level 6; #gzip_buffers 16 8k; #gzip_http_版本 1.1; # gzip_types 文本/纯文本/css 应用程序/json 应用程序/x-javascript 文本/xml 应用程序/xml 应用程序/xml+rss 文本/javascript; ## # 虚拟主机配置 ## 包括/etc/nginx/conf.d/*.conf; 包括/etc/nginx/sites-enabled/*; } #邮件 { # # 请参阅示例身份验证脚本: # # http://wiki.nginx.org/ImapAuthenticateWithApachePhpScript # # # auth_http 本地主机/auth.php; # # pop3_capabilities "TOP" "用户"; # # imap_capabilities “IMAP4rev1” “UIDPLUS”; # # 服务器 { # 监听本地主机:110; # 协议 pop3; # 代理开启; # } # # 服务器 { # 监听本地主机:143; #协议imap; # 代理开启; # } #}
知道哪里出了问题吗?或者我该如何修复?
非常感谢你的帮助
答案1
您正在尝试连接到 上的 PHP Fast-CGI unix:/tmp/php.socket
,但您没有运行 PHP Fast-CGI 守护程序。PHP-FPM 是单独的守护进程和 nginx将不会自动生成它。
请参阅有关部署的 PHP 文档FastCGI 进程管理器 (FPM)和如何在 Ubuntu 上安装 Nginix + PHP-FPM
如果您使用标准安装,您很可能会有一个名为php-fpm
或的服务php5-fpm
,您应该启动它并将其添加到自动启动的服务列表中。