Я новичок в Nginx, но мне было интересно попробовать.
Теперь у меня есть Nginx, который прослушивает порт 80 и обслуживает статический HTML-контент из / srv / www для основного «промо-сайта». Я также настроил apache2 для обслуживания контента из того же места на localhost: 8080. В этом месте у меня есть папка под названием beta, содержащая установку Drupal, которую я хотел бы использовать с Apache вместо Nginx.
Мне успешно удалось настроить Nginx, чтобы запросы, идущие на example.com/beta, обслуживались Apache, а файлы правильно отображались в браузере, за исключением любых файлов php, связанных с Drupal. info.php (<?php phpinfo(); ?>
) тоже работает. Для любого из php-файлов, связанных с Drupal, я получаю стандартную ошибку 500.
Мои файлы конфигурации для apache и nginx ниже:
Apache:
<VirtualHost 127.0.0.1:8080>
ServerAdmin webmaster@localhost
DocumentRoot /srv/www
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /srv/www>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
AddType application/x-httpd-php .php
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/access.log combined
Alias /doc/ "/usr/share/doc/"
<Directory "/usr/share/doc/">
Options Indexes MultiViews FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
Allow from 127.0.0.0/255.0.0.0 ::1/128
</Directory>
</VirtualHost>
Nginx:
server {
#listen 80; ## listen for ipv4; this line is default and implied
#listen [::]:80 default ipv6only=on; ## listen for ipv6
root /usr/share/nginx/www;
index index.html index.php index.htm;
# Make site accessible from http://localhost/
server_name example.com;
location / {
# First attempt to serve request as file, then
# as directory, then fall back to index.html
try_files $uri $uri/ /index.html;
# Uncomment to enable naxsi on this location
# include /etc/nginx/naxsi.rules
}
location /doc/ {
alias /usr/share/doc/;
autoindex on;
allow 127.0.0.1;
deny all;
}
#THIS BIT IS FOR DRUPAL
location ~ ^/beta {
proxy_pass http://127.0.0.1:8080;
include /etc/nginx/proxy_params;
index index.php index.html index.htm;
}
}