华为云centos7上部署node.js应用,部署redis和mysql,使用forever守护node.js进程

华为云确实优惠力度挺大的,最普通的弹性云服务器一年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. 修改华为云的安全策略

进入华为云管理台中的安全组中

华为云centos7上部署node.js应用,部署redis和mysql,使用forever守护node.js进程

添加80端口,3306端口和其他应用要用到的端口(不然无法ping通)

9. 启动node.js服务

进入到应用文件夹中 forever start  你的应用.js  即可

在浏览器中就可以测试了