Задать вопрос
@Ufolob

Как правильно подключить CMS на nginx?

Всем привет. Запустил приложение nuxtjs на арендованном vps.
Конфигурация nginx имеет сейчас такой вид:
server {
    listen      55.55.55.555:443 ssl;
    server_name test.ru www.test.ru;
    ssl_certificate      /home/admin/conf/web/ssl.test.ru.pem;
    ssl_certificate_key  /home/admin/conf/web/ssl.test.ru.key;
    error_log  /var/log/apache2/domains/test.ru.error.log error;

    location / {
        proxy_pass      http://localhost:3000;
        location ~* ^.+\.(jpeg|jpg|png|gif|bmp|ico|svg|tif|tiff|css|js|htm|html|ttf|otf|webp|woff|txt|csv|rtf|doc|docx|xls|xlsx|ppt|pptx|odf|odp|ods|odt|pdf|psd|ai|eot|eps|ps|zip|tar|tgz|gz|rar|bz2|7z|aac|m4a|mp3|mp4|ogg|wav|wma|3gp|avi|flv|m4v|mkv|mov|mpeg|mpg|wmv|exe|iso|dmg|swf)$ {
            root           /home/admin/web/test.ru/public_html;
            access_log     /var/log/apache2/domains/test.ru.log combined;
            access_log     /var/log/apache2/domains/test.ru.bytes bytes;
            expires        max;
            try_files      $uri @fallback;
        }
    }

    location /error/ {
        alias   /home/admin/web/test.ru/document_errors/;
    }
    location /news/ {
       root           /home/admin/web/test.ru/public_html/data/;
       index index.php index.html index.htm;
    }
    location @fallback {
        proxy_pass      http://localhost:3000;
    }
    location ~ \.php$ {
        include /etc/nginx/fastcgi_params;
        fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;
        fastcgi_index index.php;
    }
    location ~ /\.ht    {return 404;}
    location ~ /\.svn/  {return 404;}
    location ~ /\.git/  {return 404;}
    location ~ /\.hg/   {return 404;}
    location ~ /\.bzr/  {return 404;}

    disable_symlinks if_not_owner from=/home/admin/web/test.ru/public_html;

    include /home/admin/conf/web/snginx.test.ru.conf*;
}

В папке public_html лежат файлы приложения. Также там создал папку "data" в папке же public_html, где будут лежать файлы php-CMS, который будет взаимодействовать с приложением и отдавать необходимую информацию.
Запустил php-fmp . Подскажите пожалуйста вот в чем:
1. Можно ли файлы php-framework вынести за пределы папки public_html ?
2. Как правильно прописать настройки запущенного php-fmp в nginx, чтобы работал как надо php ?
3. Что нужно прописать в настройках, чтобы php-framework запустился и работал через php-fmp?
4. Как правильно в настройке nginx указать location , по которому мне надо, чтобы по определенному url срабатывала CMS, а не nuxt-приложение? Например, по ссылке /news/ контент должен отдавать php-framework. Все это нужно потому что сайт будет переноситься постепенно на новое приложение.
  • Вопрос задан
  • 228 просмотров
Подписаться 1 Средний 3 комментария
Решения вопроса 1
megafax
@megafax
web-программист
1) Для начала определите 2 location - @php {...} и @nuxt {...} (к примеру)
2) Далее определитесь какой должен быть document_root у приложения и пропишите его (можно указытьвать для каждого location)
3) Далее укажите через try_files для локации например /api/ смотреть на nuxt а для / смотреть на php
profit
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы