华为云确实优惠力度挺大的,最普通的弹性云服务器一年300出头,在华为云centos7上部署了node.js应用。
1. 使用Putty连接华为云centos
华为云自带的远程登录好像不支持粘贴不太方便,可以使用putty来远程连接centos。
进入putty后,默认用户名是root,密码是当时创建云服务器时候输入的密码,如果忘了,可以在华为云管理页面重新安装系统,可以重新输入密码。
2. 使用FlashFXP来给centos上传下载文件
感觉用FlashFXP上传下载文件还是比较方便的,需要注意的是华为云默认只开启22端口,所以在连接的时候连接类型要选择第二个SFTP over SSH
3. 安装node.js
首先可以使用wget下载node的源码包
wget http://nodejs.org/dist/latest/node-v9.4.0-linux-x64.tar.gz 最新版本是9.4.0, 我的centos是64位的。
查看是64位还是32位可以通过 getconf LONG_BIT 查看
然后提取tar文件 tar zxvf node-v9.4.0-linux-x64.tar.gz
重命名为node mv node-v9.4.0-linux-x64 node
注意下载的包已经是可执行程序了,不需要在make install了
验证是否能够使用node, cd node/bin, 输入 ./node -v 查看node版本, 若正常显示说明node可以正常使用
要想node能够在全局能够使用,需要添加连接
ln -s /root/node/bin/node /usr/local/bin/node
ln -s /root/node-v6.10.1/bin/npm /usr/local/bin/npm
4. 安装redis
从官网下载redis wget http://download.redis.io/redis-stable.tar.gz
解压 tar -xzvf redis-stable.tar.gz
编译 cdredis-stable
make
执行安装 make install
make install安装完成后,会在/usr/local/bin目录下生成下面几个可执行文件,它们的作用分别是:
redis-server:Redis服务器端启动程序
redis-cli:Redis客户端操作工具。也可以用telnet根据其纯文本协议来操作
redis-benchmark:Redis性能测试工具
redis-check-aof:数据修复工具
redis-check-dump:检查导出工具
配置Redis复制配置文件到/etc/目录: cp redis.conf /etc/
修改redis.conf文件vi /etc/redis.conf
修改daemonize配置项为yes,使redis进程在后台运行 daemonize yes
可以通过flashfxp下载redis.conf 修改完后再通过flashfxp上传
启动redis, cd /user/local/bin
./redis-server /etc/redis.conf
检查启动情况: ps -ef | grep redis
看到类似下面的一行,表示启动成功 root 18443 1 0 13:05 ? 00:00:00 ./redis-server *:6379
添加开机启动项 echo "/usr/local/bin/redis-server /etc/redis.conf" >>/etc/rc.local
5. 安装Mysql
下载mysql源安装包 wget http://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm
安装mysql源 yum localinstall mysql57-community-release-el7-8.noarch.rpm
检查mysql源是否安装成功 yum repolist enabled | grep "mysql.*-community.*"
安装MySQL yum install mysql-community-server
启动MySQL服务 systemctl start mysqld
查看MySQL的启动状态 systemctl status mysqld
开机启动 systemctl enable mysqld
systemctl daemon-reload
修改root本地登录密码 mysql安装完成之后,在/var/log/mysqld.log文件中给root生成了一个默认密码。通过下面的方式找到root默认密码,然后登录mysql进行修改:
grep 'temporary password' /var/log/mysqld.log
mysql -uroot -p 刚刚得到的临时密码
ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass4!';
注意新密码需要满足mysql的默认密码规则(大写,小写,数字,特殊字符都得有),也可以修改mysql的密码规则
修改mysql的密码规则: set global validate_password_policy=0;
validate_password_policy有以下取值:
策略 检查规则
0 or LOW Length
1 or MEDIUM Length; numeric, lowercase/uppercase, and special characters
2 or STRONG Length; numeric, lowercase/uppercase, and special characters; dictionary file
重新启动mysql服务使配置生效: systemctl restart mysqld
配置远程登录 GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'youpassword' WITH GRANT OPTION;
6. 安装forever
forever可以让node.js在后台运行,同时监控服务器,如果出现错误异常关闭时可以重启服务器保证服务稳定运行
npm install forever -g
7. 上传node.js应用文件夹
将在本机运行正常的的node.js应用文件夹全部上传到服务器上,同时需要保证应用所需的dependency都在本地node_modules中可以找到
8. 修改华为云的安全策略
进入华为云管理台中的安全组中
添加80端口,3306端口和其他应用要用到的端口(不然无法ping通)
9. 启动node.js服务
进入到应用文件夹中 forever start 你的应用.js 即可
在浏览器中就可以测试了