1、配置nodeJs环境
(1)安装node、npm
我们云服务器是Ubuntu系统,通过apt-get安装即可
//下载nodejs安装文件node-v10.13.0-linux-x64.tar.xz ~$ wget https://npm.taobao.org/mirrors/node/v10.13.0/node-v10.13.0-linux-x64.tar.xz //解压下载的文件 ~$ tar -xvf node-v10.13.0-linux-x64.tar.xz //测试是否安装成功 ~$ cd node-v10.13.0-linux-x64/bin && ls node npm npx //符号./的意思是当前文件夹下,现在 node 和 npm 还不能全局使用 ~/node-v10.13.0-linux-x64/bin$ ./node -v v10.13.0
(2)查看当前目录
输入pwd查看当前目录,记住这个目录,我们下面要用
~/node-v10.13.0-linux-x64/bin$ pwd //查到的目录如下 /root/node-v10.13.0-linux-x64/bin
(3)全局使用node、npm
现在npm、node只能在我们刚刚安装的node-v10.13.0-linux-x64/bin文件夹下面使用,我们在Ubuntu中设置环境变量,从而可以全局使用node、npm
//回到~目录 ~/node-v10.13.0-linux-x64/bin$ cd ~ //打开.bashrc文件夹 ~$ vim .bashrc
(4)编辑.bashrc文件
vim是一个文本编辑器,输入i,进入编辑状态,添加下面语句
其中/root/node-v10.13.0-linux-x64/bin/是【(2)查看当前目录】中查出来的目录,替换成你自己查到的目录
export PATH=/root/node-v10.13.0-linux-x64/bin/:$PATH
编辑完成后,按esc键退出编辑状态,再输入:wq保存并退出文件
(5)使环境变量生效
~$ source .bashrc
(6)检查是否可以全局使用node、npm
~$ node -v v10.13.0 ~$ npm -v 6.4.1
(7)将npm的源换成国内的
由于npm的源在国外,国内用户下载软件包会比较慢,所以我们将npm的源换成国内的。
#运行成功,不会返回任何信息 ~$ npm set registry https://registry.npm.taobao.org/
2、安装mysql
安装mysql数据库以及依赖插件,安装过程需要设置mysql密码,该密码一定要记住,之后登录数据库会用到
~$ sudo apt-get install mysql-server mysql-client libmysqlclient-dev
3、修改配置文件
(1)编辑src/config.js文件,将本地域名修改成自己已经备过案的域名
//原代码 const host = 'http://localhost:5757' //修改为自己的域名 const host = 'https://***.com'
(2)编辑server/config,js文件,修改下面三项信息,保存文件
//修改成自己的域名 serverHost: 'https://***.com', //项目在云服务器上面的路径,我们会将server文件夹放在这个路径 rootPathname: '/mnt/truth_hold/server', //是否使用腾讯云代理登录小程序,改成true useQcloudLogin: true,
(3)继续编辑server/config,js文件,修改数据库密码
也就是pass字段,改成在云服务器上面安装mysql时设置的密码
mysql: { host: 'localhost', port: 3306, user: 'root', db: 'cAuth', pass: '199507@.', char: 'utf8mb4' },
4、云服务器放上server文件
(1)在根目录mnt文件夹下面创建truth_hold文件夹(云服务器端操作)
//进入/mnt文件夹 ~$ cd /mnt/ //创建truth_hold文件夹 ~/mnt$ mkdir truth_hold
(2)用scp将server文件夹传输到云服务器(电脑本地终端操作)
//进入truth_hold项目文件夹目录 ~$ cd ~/WeChatProjects/truth_hold/ //用scp将server文件夹传输到云服务器 ~/WeChatProjects/truth_hold$ scp -r server root@47.10.17.231:/mnt/truth_hold //输入云服务器的密码,文件比较多,需要10分钟左右才能传输完成 root@47.10.17.231's password:
(3)检查是否传送成功(云服务器端操作)
//打开/mnt/truth_hold目录 ~$ cd /mnt/truth_hold //输入ls查看里面的文件 ~/mnt/truth_hold$ ls server
5、pm2安装并启动
pm2 是Node应用的进程管理器,我们用他来启动后端(也就是云服务器端),就像在本地电脑server文件夹下运行npm run dev差不多
//安装pm2 ~$ npm install pm2 --global //检查是否安装成功 ~$ pm2 -v //进入项目目录 ~$ cd /mnt/truth_hold/server/ //启动项目 /mnt/truth_hold/server$ pm2 start app.js //启动成功返回的信息 [PM2] Starting /mnt/truth_hold/server/app.js in fork_mode (1 instance) [PM2] Done. ┌────┬────────────────────┬──────────┬──────┬──────────┬──────────┬──────────┐ │ id │ name │ mode │ ↺ │ status │ cpu │ memory │ ├────┼────────────────────┼──────────┼──────┼──────────┼──────────┼──────────┤ │ 0 │ app │ fork │ 0 │ online │ 0% │ 25.8mb │ └────┴────────────────────┴──────────┴──────┴──────────┴──────────┴──────────┘
现在服务端的环境已经完全搭建好了~