node小白,从未接触过使用阿里云需要的相关配置。so,并不是很难,要相信自己啊。 这是我基于thinkjs框架的node项目在阿里云上部署的经过,希望对你有帮助:smirk:。
导图镇楼
mysql(8.0版本)数据库部署
数据库的部署,请按照思维导图中的教程文章进行,但是有两点需要注意。
-
在教程的一系列的下载安装操作中,落了安装
mysql-community-server-8.0.13-1.el7.x86_64.rpm,这会导致mysql服务无法启动,因为服务都没安装。:sweat_smile: -
mysql安装好了之后,第一步是重置密码,但是mysql8版本的密码在log文件(路径在/var/log/mysqld.log)中能够找到,如果没找到密码,请在网上搜索展示日志路径的unix命令。知道密码,通过
mysql -uroot -p初始密码就可以进入命令行 -
推荐使用客户端的远程链接功能操作数据库
推荐一些常用的命令
| 命令 | 含义 |
|---|---|
systemctl status mysqld |
查看mysql服务状态 |
systemctl start mysqld |
启动mysql服务 |
systemctl restart mysqld |
重启mysql服务 |
mysql -u用户名 -p密码 |
进入mysql的命令行环境,注意用户名紧跟着-u,密码紧跟着-p |
nginx服务器配置
请按照我列出来的教程开始操作,直接跳到nginx章节。对于该教程的补充如下:
- 首先推荐先安装一个ftp的文件管理系统,方便可视化操作(注意设置软件的编码格式未utf-8,避免中文乱码问题)
- 其次,该教程中在
sites-enabled-server内新增文件,推荐直接在ftp系统中新增文件,我直接在命令行文件操作,导致创建的文件带后缀,引发错误。 - 不要尝试下载node代码,再进行编译,巨慢。推荐直接网上找node的编译好的版本,可以在这个链接中下载xz文件(nodejs.org/dist/latest…),推荐文章: 部署Node.js项目(CentOS)
- 如果是单文件项目,首先注意api接口的反向代理,另外需要当心history模式下的路由转发,以及静态文件问题。
- 开启gzip压缩
阿里云配置
阿里云配置就简单多了,当然,这可能是作者的一厢情愿,毕竟我也只是小白罢了:joy:
目前需要的仅仅只是安全组的设置,也就是端口的开放,不然无法设置mysql的远程链接,以及其他和端口相关的服务了。
前端代码部署
一言以蔽之:打包上传到指定路径即可
后端代码部署
同前端部署:打包上传到指定路径。当然,既然是node项目,那么pm2进程守护还是要上的,所以再开启pm2即可。
另外,PM2的简易教程,请看我的另一篇文章,或许有用哦:运维系列 pm2进程守护基础使用
如果你的服务无法使用,请查看上文nginx配置是否有问题。
域名以及备案问题
如果是需要再国内使用且需要备案的,推荐直接在阿里云或者腾讯云上购买相关服务。毕竟一站式解决需求,还是可以的。
最后的最后,吐槽下,备案真的是麻烦啊:triumph: