项目部署到服务器上连不上数据库,egg.js部署上线,结果连不上服务器里的MySQL数据库,好难受~(更新:终于解决了)...

在网上找了好久,egg.js部署上线教程几乎都和egg官方文档一样。

但是都没有提到MySQL数据库这一块

我是直接 sudo apt-get install mysql-server mysql-client 进行安装MySQL的

难受,难道真的要从入门到放弃么

2fe0c7b083d36a0b7d3f425c6b3295f8.png

更新: 几个小时后,数据库终于连上了,但是在执行 npm start 时报错了

报错信息:

ubuntu@VM-0-8-ubuntu:/var/www/html/loveapi$ npm start

> loveapi@1.0.0 start /var/www/html/loveapi

> egg-scripts start --daemon --title=egg-server-loveapi --ignore-stderr

[egg-scripts] Starting egg application at /var/www/html/loveapi

[egg-scripts] Run node /var/www/html/loveapi/node_modules/egg-scripts/lib/start-cluster {"title":"egg-server-loveapi","baseDir":"/var/www/html/loveapi","framework":"/var/www/html/loveapi/node_modules/egg"} --title=egg-server-loveapi

[egg-scripts] Save log file to /home/ubuntu/logs

[egg-scripts] Wait Start: 1...

[egg-scripts] Wait Start: 2...

[egg-scripts] tail -n 100 /home/ubuntu/logs/master-stderr.log

[egg-scripts] Got error when startup:

[egg-scripts] 2019-12-28 22:35:56,008 ERROR 2722 [app_worker] server got error: bind EACCES 127.0.0.1:80, code: EACCES

[egg-scripts] 2019-12-28 22:35:56,021 ERROR 2704 nodejs.AppWorkerDiedError: [master] app_worker#1:2722 died (code: 0, signal: null, suicide: false, state: dead), current workers: []

[egg-scripts] at Master.onAppExit (/var/www/html/loveapi/node_modules/egg-cluster/lib/master.js:510:21)

[egg-scripts] at Master.emit (events.js:210:5)

[egg-scripts] at Messenger.sendToMaster (/var/www/html/loveapi/node_modules/egg-cluster/lib/utils/messenger.js:137:17)

[egg-scripts] at Messenger.send (/var/www/html/loveapi/node_modules/egg-cluster/lib/utils/messenger.js:102:12)

[egg-scripts] at EventEmitter. (/var/www/html/loveapi/node_modules/egg-cluster/lib/master.js:353:22)

[egg-scripts] at EventEmitter.emit (events.js:215:7)

[egg-scripts] at ChildProcess. (internal/cluster/master.js:188:13)

[egg-scripts] at Object.onceWrapper (events.js:300:26)

[egg-scripts] at ChildProcess.emit (events.js:210:5)

[egg-scripts] at Process.ChildProcess._handle.onexit (internal/child_process.js:272:12)

[egg-scripts] name: "AppWorkerDiedError"

[egg-scripts] pid: 2704

[egg-scripts] hostname: VM-0-8-ubuntu

[egg-scripts]

[egg-scripts] 2019-12-28 22:35:56,021 ERROR 2704 [master] app_worker#1:2722 start fail, exiting with code:1

[egg-scripts] 2019-12-28 22:35:56,021 ERROR 2704 [master] exit with code:1

[egg-scripts] 2019-12-28 22:35:56,029 ERROR 2711 [agent_worker] receive disconnect event on child_process fork mode, exiting with code:110

[egg-scripts] 2019-12-28 22:35:56,031 ERROR 2711 [agent_worker] exit with code:110

[egg-scripts]

[egg-scripts] Start got error, see /home/ubuntu/logs/master-stderr.log

[egg-scripts] Or use `--ignore-stderr` to ignore stderr at startup.

/home/ubuntu/logs/master-stderr.log 文件里的内容:

2019-12-28 22:30:54,738 ERROR 1761 [app_worker] server got error: bind EADDRINUSE 127.0.0.1:80, code: EADDRINUSE

2019-12-28 22:30:54,753 ERROR 1739 nodejs.AppWorkerDiedError: [master] app_worker#1:1761 died (code: 0, signal: null, suicide: false, state: dead), current workers: []

at Master.onAppExit (/var/www/html/loveapi/node_modules/egg-cluster/lib/master.js:510:21)

at Master.emit (events.js:210:5)

at Messenger.sendToMaster (/var/www/html/loveapi/node_modules/egg-cluster/lib/utils/messenger.js:137:17)

at Messenger.send (/var/www/html/loveapi/node_modules/egg-cluster/lib/utils/messenger.js:102:12)

at EventEmitter. (/var/www/html/loveapi/node_modules/egg-cluster/lib/master.js:353:22)

at EventEmitter.emit (events.js:215:7)

at ChildProcess. (internal/cluster/master.js:188:13)

at Object.onceWrapper (events.js:300:26)

at ChildProcess.emit (events.js:210:5)

at Process.ChildProcess._handle.onexit (internal/child_process.js:272:12)

name: "AppWorkerDiedError"

pid: 1739

hostname: VM-0-8-ubuntu

2019-12-28 22:30:54,753 ERROR 1739 [master] app_worker#1:1761 start fail, exiting with code:1

2019-12-28 22:30:54,754 ERROR 1739 [master] exit with code:1

2019-12-28 22:30:54,762 ERROR 1750 [agent_worker] receive disconnect event on child_process fork mode, exiting with code:110

2019-12-28 22:30:54,763 ERROR 1750 [agent_worker] exit with code:110

更新: 经过 @i5ting 的提醒,终于运行不报错了,但是接下来我突然不知道该怎么访问我写的接口了:

过程: 我把 config.default.js 文件改成了下面这样,主要是把端口号从 80 改成了 7001

d1efa638942aded818873eb552889a3d.png

ubuntu@VM-0-8-ubuntu:/var/www/html/loveapi$ npm start

> loveapi@1.0.0 start /var/www/html/loveapi

> egg-scripts start --daemon --title=egg-server-loveapi --ignore-stderr

[egg-scripts] Starting egg application at /var/www/html/loveapi

[egg-scripts] Run node /var/www/html/loveapi/node_modules/egg-scripts/lib/start-cluster {"title":"egg-server-loveapi","baseDir":"/var/www/html/loveapi","framework":"/var/www/html/loveapi/node_modules/egg"} --title=egg-server-loveapi

[egg-scripts] Save log file to /home/ubuntu/logs

[egg-scripts] Wait Start: 1...

[egg-scripts] egg started on http://127.0.0.1:7001

ubuntu@VM-0-8-ubuntu:/var/www/html/loveapi$

更新: 把配置文件 config.default.js 改成下面这样之后,可以通过IP或者域名+端口号访问接口,但是我希望可以把端口号也省略掉,有办法吗?

381f1189187c71f948609ffdf882885e.png

更新: 最后终于解决了

把配置文件 config.default.js 改成下面这样(其实就是直接注释了):

b182683d7155776a916e4a428a6b2ada.png

然后再在 Nginx 里加上这些配置:

1be8e9e0b0562b9ef075bdf7abd2cfbe.png

Nginx 配置链接:https://eggjs.org/zh-cn/tutorials/socketio.html#部署

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值