远程服务器运行Directus使用pm2启动报错及配置/admin路由求助
解决步骤
1. 修正PM2启动命令
你当前使用的pm2 start npm --start属于参数传递错误,PM2向npm传递子命令的正确语法是在--后补充完整的npm执行指令,修正后的启动命令如下:
pm2 start npm --name "directus" -- run start
附加--name参数方便后续对Directus进程进行单独管理。
2. 前置校验Directus运行状态
如果修正命令后仍启动失败,先在前台直接执行npm start验证Directus本身是否可以正常运行,排查以下配置问题:
- 检查项目根目录下的
.env文件,PUBLIC_URL参数需要配置为https://example.com/admin,和你要使用的访问路由保持一致,否则会出现后台静态资源加载失败的问题 - 确认数据库连接地址、账号密码、管理员密钥等必填配置项填写正确
- 检查是否已安装全部依赖,缺失依赖的话先执行
npm install安装
3. 配置反向代理实现/admin路由访问
Directus默认监听8055端口,你需要在站点的Web服务(以Nginx为例)中新增反向代理规则,将example.com/admin的请求转发到Directus服务:
location ^~ /admin/ {
proxy_pass http://127.0.0.1:8055/;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-For $remote_addr;
}
注意proxy_pass末尾的斜杠不可省略,否则会出现路径匹配错误。
内容的提问来源于stack exchange,提问作者Valeria Bushueva
相关产品推荐
相关产品推荐

