本文基于以下环境:
- 腾讯云服务器:Centos 7.5 64 位
安装配置 Nginx 和 HTTPS
安装 Nginx
首先 Node.js
是单进程的,我们可以通过多开 Node.js
并配合 Nginx
来实现多进程 Node.js
负载均衡,然后要做的项目需要用一些前端静态页面需要通过 Nginx
代理,提高性能。并且还需要通过 Nginx
给域名配置 HTTPS
。所以首先要安装 Nginx
1 | yum -y install nginx |
正常打印Nodej
配置 HTTPS
在阿里云申请且下载 SSL证书
,然后使用 SFTP
上传到 /data/release/nginx
目录,也可以是别的目录
上传完证Nodejinx,进入服务器的
/etc/nginx/conf.d目录,新建一个
weapp.conf文件,打开编辑,写入如下配置(将配置里
wedolist.zhzh.xyz和
SSL证书` 路径修改为自己的):
1 | upstream app_weapp { |
配置完成之后,输入:
1 | nginx -t |
检测配置文件是否成功,配置成功后,输入 nginx
,启动 Nginx
。通过配置的域名访问域名,如果跳转到 HTTPS
,且显示 502 Bad Gateway
,则表示配置成功。
安装配置 MySQL
安装 MySQL
Wafer2小程序NodejMySQL 5.7
及以上版本,这里选择 5.7
版本安装
1 | yum localinstaNodejysql.com/get/mysql57-community-release-el7-11.noarch.rpm |
启动 MySQLNodej
第一次安装,设置数据库开机自动启动:
1 | systemctl enable mysqld |
完成后打印出运行状态,确认 MySQL
是否正常启动:
1 | systemctl status mysqld |
配置密码
当 MySQL
第一次启动时,会为 root
用户生成临时密码。通过以下命令找到密码:
1 | grep 'temporary password' /var/log/mysqld.log |
运行该 mysql_secure_installation
配置 MySQL
的安全性:
1 | mysql_secure_installation |
系统会要求输入刚才从 log
中打印出来的临时密码,然后根据提示和个人需求设置新密码、是否删除匿名用户等等
配置远程访问
首先登录 MySQL
,系统会提示输入数据库 root
用户的密码,输入完成后即进入 mysql shell
1 | mysql -uroot -p |
进去 mysql shell
后给 root
用户或者其他你需要远程连接的用户权限:
1 | use mysql; |
修改完成后重启 MySQL
就可以使用 Navicat
等工具远程连接数据库了
安装配置 phpMyAdmin
phpMyAdmin
是一个基于 PHP
的开源工具,它允许用户通过 Web
与 MySQL
数据库交互,管理用户帐户和权限,执行SQL语句,以各种数据格式导入和导出数据等等。
安装 PHP
CentOS 7
附带 PHP 5
,但是 phpMyadmin
需要 PHP 7
,所以需要自行安装 PHP 7
1 | yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm |
默认情况下,PHP FPM
使用 apache
在 9000
端口上以用户身份运行。需要将用户更改为 nginx
从TCP socket
切换到 Unix socket
。为此,需要编辑 /etc/php-fpm.d/www.conf
需要修改的内容如下:
1 | user = nginx |
配置 user
是为了控制权限, 读写站点文件.
配置 listen.owner/group
是为了 nginx
有权限和 php-fpm
通信.
然后使用一下命令,保证 /var/lib/php
目录具有权限:
1 | chown -R root:nginx /var/lib/php |
最后启用 PHP FPM
服务:
1 | systemctl enable php-fpm |
没有报错就说明启动成功,在 Linux
中没有消息就是好消息
安装 phpMyAdmin
之前已经启用 EPEL
软件包了,这里可以直接进行安装,当然安装完成后需要把根目录的用户组改为 nginx
,方便后面使用 nginx
配置
1 | yum install phpmyadmin |
设置 Nginx 和 phpMyAdmin
跟之前配置小程序域名一样,上传访问 phpMyAdmin
的域名的证书;进入服务器的 /etc/nginx/conf.d
目录,新建一个 phpmyadmin.conf
文件,打开编辑,写入如下配置(将配置里 XXX.zhzh.xyz
、 phpmyadmin
安装根目录 和 SSL证书
路径修改为自己的):
1 | server { |
安装 Nodejs
Wafer
的 Demo
需要 7.6
以上版本的 Node.js
才能运行,目前最新稳定版本为 10.x
,yum
本身不提供 Node.js
的源,所以首先我们得切换源:
1 | curl --silent --location https://rpm.nodesource.com/setup_10.x | sudo bash - |
接着就可以直接通过 yum
安装了:
1 | yum -y install nodejs |
同理,我们可以通过如下命令验证 Node.js
是否安装成功:
1 | node -v |
该命令会返回当前 Node.js
的版本号,如果你看到了版本号大于 7.6
,则 Node.js
安装成功。之后需要使用 npm
安装腾讯提供的 wafer2
,这里先把 npm
源切换到腾讯云镜像,防止官方镜像下载失败:
1 | npm config set registry http://mirrors.tencentyun.com/npm/ |
配置小程序服务端
下载并修改配置文件
到 Wafer2-startup 仓库下载最新的 Demo 代码,修改 server/config.js
:
1 | const CONF = { |
安装并启动服务
安装 pm2
作为后台服务管理工具
1 | npm install -g pm2 |
把 server
上传到服务器,使用 npm install
安装程序需要使用的包。然后打开之前配置好的 phpMyAdmin
新建数据库,数据库名需要跟之前的配置文件写得一样,编码为 utf8mb
,然后使用以下命令初始化数据库:
1 | node tools/initdb.js |
最后使用 pm2
开启服务
1 | pm2 start app.js |