Пользовательский nginx.conf для нескольких сайтов на аккаунте. Как?
Пользовательский nginx.conf для нескольких сайтов на аккаунте. Как?
Конфигурация сервера. nginx+php-fpm
Обычно создаю для каждого сайта своего пользователя. И даже не задумывался о проблеме. Имею шаблон для пользовательского конфига nginx, который работает отлично. (нужна обработка ЧПУ в вордпресс)
А как оформить настройки для нескольких сайтов на юзере? Никак не соображу. У нас ведь разные server_name, root и пишутся эти настройки не под директорию с сайтом, а под директорию юзера. Подскажите.
Обычно создаю для каждого сайта своего пользователя. И даже не задумывался о проблеме. Имею шаблон для пользовательского конфига nginx, который работает отлично. (нужна обработка ЧПУ в вордпресс)
Code: Select all
server {
listen xxx.xxx.xx.xx:80;
server_name site.name www.site.name;
root /home/user/web/site.name/public_html;
index index.php index.html index.htm;
access_log /var/log/nginx/domains/site.name.log combined;
access_log /var/log/nginx/domains/site.name.bytes bytes;
error_log /var/log/nginx/domains/site.name.error.log error;
gzip on; # включаем сжатие gzip
gzip_disable "msie6";
gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript application/javascript;
location / {
if ($host ~* ^site\.name$) {
rewrite ^(.*) http://www.site.name$1 permanent;
break;
}
location / {
index index.php index.html index.htm;
try_files $uri $uri/ /index.php?$args;
}
location ~* ^.+\.(jpeg|jpg|png|gif|bmp|ico|svg|css|js)$ {
expires max;
}
location ~ [^/]\.php(/|$) {
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
if (!-f $document_root$fastcgi_script_name) {
return 404;
}
fastcgi_pass 127.0.0.1:9002;
fastcgi_index index.php;
include /etc/nginx/fastcgi_params;
}
}
error_page 403 /error/404.html;
error_page 404 /error/404.html;
error_page 500 502 503 504 /error/50x.html;
}
Re: Пользовательский nginx.conf для нескольких сайтов на аккаунте. Как?
Не очень понятный вопрос.
На данный момент у пользователя один nginx.conf и в нем информация по доменам.
Конфигурация допускает наличие разных блоков server в одном конфиге, также как и с виртуальными хостами.
В дальнейшем мы думаем на тем, чтобы у каждого домена был свой конфиг.
Как мне кажется, это будет намного интереснее.
На данный момент у пользователя один nginx.conf и в нем информация по доменам.
Конфигурация допускает наличие разных блоков server в одном конфиге, также как и с виртуальными хостами.
В дальнейшем мы думаем на тем, чтобы у каждого домена был свой конфиг.
Как мне кажется, это будет намного интереснее.
Re: Пользовательский nginx.conf для нескольких сайтов на аккаунте. Как?
Это ответ на мой непонятный вопрос. Спасибо. Я Этого не знал. Поэтому и вопрос непонятный. :)skurudo wrote:Не очень понятный вопрос.
Конфигурация допускает наличие разных блоков server в одном конфиге, также как и с виртуальными хостами.
В дальнейшем мы думаем на тем, чтобы у каждого домена был свой конфиг.
Как мне кажется, это будет намного интереснее.
Re: Пользовательский nginx.conf для нескольких сайтов на аккаунте. Как?
А ну ок :)Agat wrote:Это ответ на мой непонятный вопрос. Спасибо. Я Этого не знал. Поэтому и вопрос непонятный. :)
Вот она такая конструкция:
Code: Select all
server {
listen *:443 ssl spdy;
server_name zeira.ru www.zeira.ru;
...
include /home/admin/conf/web/snginx.zeira.ru.conf*;
}
server {
listen *:443 ssl spdy;
server_name erza.ru www.erza.ru;
....
include /home/admin/conf/web/snginx.erza.ru.conf*;
}
Re: Пользовательский nginx.conf для нескольких сайтов на аккаунте. Как?
упс. nginx ругается.skurudo wrote:А ну ок :)Agat wrote:Это ответ на мой непонятный вопрос. Спасибо. Я Этого не знал. Поэтому и вопрос непонятный. :)
Вот она такая конструкция:
Code: Select all
server { listen *:443 ssl spdy; server_name zeira.ru www.zeira.ru; ... include /home/admin/conf/web/snginx.zeira.ru.conf*; } server { listen *:443 ssl spdy; server_name erza.ru www.erza.ru; .... include /home/admin/conf/web/snginx.erza.ru.conf*; }
Я продублировал полностью свой блок, который описал в первом посте и вписал туда данные по своему второму сайту. То есть сейчас в пользоватетельском конфиге два идентичных блока, различающихся только данными по сайту и путями (site.name и site.ru)
Code: Select all
nginx -t
nginx: [warn] conflicting server name "site.ru" on *:80, ignored
nginx: [warn] conflicting server name "www.site.ru" on *:80, ignored
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
/home/admin/conf/web/snginx.erza.ru.conf*; и по этому пути у меня конфигураций никаких, кроме админской (nginx.conf) нет