#configuration #nginx #subdomain
#конфигурация #nginx #поддомен
Вопрос:
На моем сервере установлено 2 приложения, использующие Nginx:
- Приложение Rails
- блог WordPress
Я хочу, чтобы приложение rails было доступно через:staging.mydomain.com и что блог WordPress будет доступен через:blog.mydomain.com
сайт работает нормально, но когда я пытаюсь получить доступ к блогу, я получаю экран «добро пожаловать в nginx«.
вот моя конфигурация nginx:
server {
listen 80;
server_name staging.mydomain.com;
rails_env staging;
access_log /srv/www/staging/www/logs/access.log;
error_log /srv/www/staging/www/logs/error.log;
location / {
root /srv/www/staging/www/current/trunk/web/public;
passenger_enabled on;
}
}
server {
listen 80;
server_name blog.mydomain.com;
try_files $uri $uri/ /index.php;
access_log /srv/www/blog.mydomain.com/logs/access.log;
error_log /srv/www/blog.mydomain.com/logs/error.log;
location ~ .php$ {
root /srv/www/blog.mydomain.com;
include fastcgi_params;
fastcgi_pass localhost:53217;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
}
есть мысли о том, что здесь не так?
Ответ №1:
Возможно, вы захотите изменить server_name
для своего блога на blog.mydomain
:
server_name test.mydomain.com;
Я предполагаю, что вы пытаетесь получить доступ к blog.mydomain, но забыли изменить server_name
.
Попробуйте использовать index
директиву вместо try_files
:
index index.php;
Также root
директива должна указывать на папку, содержащую ваш index.php файл:
root /srv/www/blog.mydomain.com; # should contain index.php
Комментарии:
1. после изменения «индекса» я получаю «404 не найдено»
2. Тогда у вас нет index.php в /srv/www/blog.mydomain.com/index.php . Находится ли он в подкаталоге? Измените свою
root
директиву.3. нет, я вижу индексный файл в: /srv/www/blog.mydomain.com/index.php нужно ли мне что-то менять в корневом каталоге?
4. Вам нужно изменить
root
директиву, чтобы указать на каталог с вашим index.php файл.5. таким образом, он указывает на нужное место, поскольку индексный файл находится по адресу: /srv/www/blog.mydomain.com/index.php
Ответ №2:
Переместить директиву root /srv/www/blog.mydomain.com;
из location {}
в server {}
блок.
И добавьте местоположение для корневого каталога.
location / {
try_files $uri $uri/ /index.php;
}
Ответ №3:
исправлено! использовал этот пост: http://wiki.nginx.org/Wordpress
Комментарии:
1. Не могли бы вы обновить свой ответ о том, как вы решили свою проблему, пожалуйста?