Использование VuePress с докером и прохождением NGINX - PullRequest
0 голосов
/ 19 декабря 2018

Я занимаюсь разработкой приложения с помощью Vue и Docker и создаю сайт VuePress, который будет служить проектной документацией.Мой проект имеет два файла docker-compose для разработки и производства.В настоящее время у меня есть приложение Vue, которое хорошо работает как в среде dev, так и в prod, но я изо всех сил стараюсь, чтобы мой VuePress работал с NGINX.

  upstream docs {
    server vuepress:8080;
  }

...

  location /docs/ {
    proxy_pass http://docs/;
  }

В моем файле разработки docker-compose у меня есть следующее для VuePress:

  vuepress:
    container_name: vuepress_dev_vet
    build:
      context: .
      dockerfile: ./vuepress/dev/Dockerfile
    command: npm run docs:dev
    volumes:
      - ./vuepress/src/:/app/
    networks:
      - main
    ports:
      - 8085:8080

А вот структурамоей папки VuePress:

.
├── dev
│   └── Dockerfile
└── src
    ├── docs
    │   ├── guide
    │   │   └── README.md
    │   ├── README.md
    │   └── start
    │       └── README.md
    └── package.json

Я могу получить доступ к приложению VuePress по адресу localhost:8085, и изменения отражаются при сохранении исходных файлов и обновлении браузера.Я хотел бы настроить docker и NGINX, чтобы приложение VuePress было доступно в localhost/docs в разработке, а также на my-domain.com/docs в разработке.Есть ли где-то ошибка в моей конфигурации?

Когда я посещаю localhost/docs, я получаю следующую ошибку в Chrome:

Uncaught SyntaxError: Unexpected token <

1 Ответ

0 голосов
/ 19 декабря 2018

Вот конфигурация, которая работает для меня, используя richarvey / nginx-php-fpm: последние .

mydomain.localhost.conf

server {
    server_name mydomain.localhost;
    charset utf-8;

    location / {
        proxy_set_header X-Real-IP  $remote_addr;
        proxy_set_header X-Forwarded-For $remote_addr;
        proxy_set_header Host $host;
        proxy_redirect off;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_pass http://localhost:35432;
    }
}

/ etc / hosts

0.0.0.0  mydomain.localhost

mydomain / .vuepress / config.js

module.exports = {
    title: 'MyDomain',
    host: '0.0.0.0',
    port: 35432
}
...