如何将这些写入Apache conf文件?
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ \.php$ {
try_files $uri /index.php =404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_connect_timeout 60;
fastcgi_send_timeout 180;
fastcgi_read_timeout 180;
fastcgi_buffer_size 128k;
fastcgi_buffers 256 16k;
fastcgi_busy_buffers_size 256k;
fastcgi_temp_file_write_size 256k;
fastcgi_max_temp_file_size 0;
fastcgi_pass unix:/var/run/php5-fpm.sock;
#fastcgi_read_timeout 200;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
我想运行一个站点,但在手册中他们给了我NGINX代码,但我的托管只允许我使用Apache2。无论如何都可以这样做吗?或者我可以把它扔进垃圾箱?
您应该尝试让Apache使用FastCGI,这样您就可以按照this指南进行操作,该指南需要您:
输入sudo a2enmod actions
输入sudo grep -E '^\s*listen\s*=\s*[a-zA-Z/]+' /etc/php5/fpm/pool.d/www.conf
见listen = /var/run/php5-fpm.sock
or if you don't, add "listen = /var/run/php5-fpm.sock" and remove "listen = 127.0.0.1:9000" (without quotes) from /etc/php5/fpm/pool.d/www.conf
编辑您的/etc/apache2/mods-enabled/fastcgi.conf
文件并将其更改为这样。
<IfModule mod_fastcgi.c>
AddType application/x-httpd-fastphp5 .php
Action application/x-httpd-fastphp5 /php5-fcgi Alias /php5-fcgi
/usr/lib/cgi-bin/php5-fcgi FastCgiExternalServer
FastCgiConfig -appConnTimeout 60 -singleThreshold 100 -killInterval 300 -idle-timeout 180 -maxClassProcesses 1 -pass-header HTTP_AUTHORIZATION
/usr/lib/cgi-bin/php5-fcgi -socket /var/run/php5-fpm.sock -pass-header Authorization
<Directory /usr/lib/cgi-bin>
Require all granted
</Directory>
</IfModule>
我已将您的规则添加到此文件中,因此您可以随意查看它是什么。 This是一份文档,详细说明了如果您想要其他任何内容,可以添加到FastCGI中的内容。
运行sudo apache2ctl configtest
运行sudo service apache2 restart
运行sudo echo "<?php phpinfo(); ?>" > /var/www/info.php
并导航到yoursitenameorIP/info.php
并查看是否一切正常(具体检查您是否看到启用了FastCGI),然后运行sudo rm /var/www/info.php
并继续您的指南。