serii81
@serii81
Я люблю phр...

Почему не работают страницы в nuxt на стороне сервера?

Добрый день.
Сайт локально нормально работает.
На некоторых страницах получаю данные из базы данных через asyncData.
Именно на этих страницах, если перехожу на них через менюшку не перезагружая страницу, не отображаются данные. После перезагрузки данные появляются.

nuxt.config.js
env: {
    baseUrl: process.env.BASE_URL
  },
  server: {
    port: process.env.PORT,
    host: "localhost"
  },


.env
локально
PORT=3000
BASE_URL=http://localhost:3000


На сервере.

PORT=3000
BASE_URL=http://localhost:3000


Получение данных на странцы через asyncData
async asyncData({ $axios }) {
    const { records } = await $axios.$get(
      process.env.baseUrl + "/api/v1/location"
    );

    const { data } = await $axios.$get(process.env.baseUrl + "/api/v1/review/");
    return {
      pins: records,
      reviews: data
    };
  },


package.json
локально
"scripts": {
    "dev": "cross-env NODE_ENV=development nodemon server/index.js --watch server",
    "predev": "fuser -k 3000/tcp && echo 'Terminated' || echo 'Nothing was running on the 3000'",
    "build": "nuxt build",
    "start": "cross-env NODE_ENV=production node server/index.js",
    "generate": "nuxt generate"
  },


На сервере ecosystem.config.js
module.exports = {
  apps: [
    {
      name: "Pallina",
      exec_mode: "cluster",
      instances: "max", // Or a number of instances
      script: "server/index.js",
      args: "start",
    },
  ],
};


На сервере подключаю через pm2
Захожу в папку с проектом
pm2 start

На сервере nginx default
module.exports = {
  apps: [
    {
      name: "Pallina",
      exec_mode: "cluster",
      instances: "max", // Or a number of instances
      script: "server/index.js",
      args: "start",
    },
  ],
};

Сайт burdujaserii.ru
Заранее благодарен.
  • Вопрос задан
  • 435 просмотров
Решения вопроса 1
serii81
@serii81 Автор вопроса
Я люблю phр...
Решил проблему.
Файл ecosystem.config.js
module.exports = {
  apps: [
    {
      name: "Pallina",
      exec_mode: "cluster",
      instances: "max", // Or a number of instances
      script: "server/index.js",
      args: "start",
    },
  ],
};

package.json не трогаем.

Файл /etc/nginx/sites-avaible/default
server {
         server_name burdujaserii.ru;
 
         gzip            on;
         gzip_types      text/plain application/xml text/css application/javascript;
         gzip_min_length 1000;
 
         root /home/boss/apps/nuxt-pallinagelateria;
 
         location / {
                 proxy_redirect                      off;
                 proxy_set_header Host               $host;
                 proxy_set_header X-Real-IP          $remote_addr;
                 proxy_set_header X-Forwarded-For    $proxy_add_x_forwarded_for;
                 proxy_set_header X-Forwarded-Proto  $scheme;
                 proxy_read_timeout          1m;
                 proxy_connect_timeout       1m;
                 proxy_pass http://localhost:3000; # Ð~_оÑ~@Ñ~B на коÑ~BоÑ~@ом запÑ~CÑ~AкаеÑ~BÑ~AÑ~O node.js пÑ~@иложение
     }
 
 
     listen [::]:443 ssl http2  ipv6only=on; # managed by Certbot
     listen 443 ssl http2 ; # managed by Certbot
     ssl_certificate /etc/letsencrypt/live/burdujaserii.ru/fullchain.pem; # managed by Certbot
     ssl_certificate_key /etc/letsencrypt/live/burdujaserii.ru/privkey.pem; # managed by Certbot
     include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
     ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot
 
}


Еще установил ssl, который сгенерировал дополнительную конфигурацию в default.
sudo apt install certbot python3-certbot-nginx # Отвечаем 'y'
sudo certbot --nginx -d your-domain.com -d www.your-domain.com
certbot renew --dry-run(certificat will be to 90 days)

When certificat will finish need to tipy in terminal
certbot renew


Через pm2 запускаю проект.
pm2 start id
pm2 logs
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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