我正在使用Vue和docker开发一个应用程序,并且正在构建一个VuePress网站以用作项目文档。我的项目有两个用于开发和生产的docker-compose文件。目前,我的Vue应用程序在开发环境和产品环境中均能很好地工作,但是我正在努力使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
我可以通过
localhost:8085
访问VuePress应用程序,并且在保存源文件并刷新浏览器时会反射(reflect)出更改。我想做的是配置docker和NGINX以使VuePress应用程序可以在开发中的localhost/docs
以及生产中的my-domain.com/docs上访问。我的配置中是否存在错误?当我访问
localhost/docs
时,在Chrome中出现以下错误:Uncaught SyntaxError: Unexpected token <
最佳答案
这是使用richarvey/nginx-php-fpm:latest对我有用的配置。
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
}
关于docker - 将VuePress与docker和NGINX传递一起使用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53856972/