我试图使用apache(和php7.0)在Ubuntu 16.04下设置某种共享托管环境,但我无法设法让它工作。经过一些研究后我发现使用php-fpm和fastcgi将是一个很好的解决方案,因为我需要为每个用户提供一个php配置。
我安装了这些软件包:libapache2-mod-fastcgi php7.0-fpm php7.0
。我添加了一个名为" web"的用户,并使用usermod -d /var/www/web web
设置了对其vhost文件夹的权限。
vhost配置看起来像这样(我需要能够在没有域的情况下使用它,所以这里它在端口81上监听):
Listen 81
<VirtualHost *:81>
ServerName example.org
ServerAdmin webmaster@localhost
DocumentRoot /var/www/web
<IfModule mod_fastcgi.c>
AddHandler php7-fcgi-web .php
Action php7-fcgi-web /php7-fcgi-web virtual
Alias /php7-fcgi-web /usr/lib/cgi-bin/php7-fcgi-web
FastCgiExternalServer /usr/lib/cgi-bin/php7-fcgi-web -socket /var/run/php/php7.0-fpm.web.sock -pass-header Authorization
<Directory /usr/lib/cgi-bin>
Require all granted
</Directory>
</IfModule>
</VirtualHost>
我还修改了位于/etc/php/7.0/fpm/pool.d/web.conf
的池文件中的以下值:
[web]
...
user = web
group = web
...
listen = /run/php/php7.0-fpm.web.sock
...
listen.owner = web
listen.group = web
问题在于,当我尝试加载.php网页时,我得到了一个&#34;内部服务器错误&#34; (虽然它适用于html页面)。你知道我可能做错了什么,如果没有,我怎么能尝试调试php-fpm? (我已经尝试apachectl -t
没有返回任何错误,所以看起来apache在这里运行正常)。
感谢您阅读这篇文章,感谢您的回答!