一台具有公网ip地址24小时不关机的计算机
可以在阿里云或者腾讯云购买,比如阿里云的云服务器ECS
注意:国内的服务器都需要备案,个人信息、身份证、照片等等,香港或者海外节点不需要备案
购买服务器以后可以登陆到控制台,查看服务器的公网ip地址
服务器操作系统选择:
Linux :Centos Ubuntu16.04(推荐)
windows:比较少用,内存占用太大,但是有图像界面,操作上手比较快
2.购买域名
购买域名网站:
新网
godaddy
万网(阿里云旗下)
如何做域名映射ip地址(阿里云为例)
拿到服务器公网ip地址
xx.xx.xxx.xxx
在域名管理控制台中找到域名解析
添加解析记录
3.使用SSH连接服务器
SSH是一种协议,主要用于远程连接,连接远程服务器,操作服务器
Linux上可以直接使用
ssh
命令,在window上则需要安装一些软件,比如Git Bash、Putty操作远程服务器命令:
#连接远程服务器
#root就是远程服务器的默认用户名,xx.xx.xxx.xxx是服务器公网
ssh root@xx.xx.xxx.xxx
#回车以后,需要输入密码
#如果是刚买的服务器,需要在阿里云控制台修改设置一个密码,
#注意:修改设置完毕之后需要在控制台重启服务器才能生效
#如果第一次使用ssh连接服务器,会有一些字符内容,只需输入yes即可
#运行到这一步,则可以登陆远程服务器
#退出远程服务器
#如果一段时间没有操作,则ssh会自动断开连接
#手动断开连接
exit
4.安装Nginx
当登陆到远程服务器以后,就可以在里面进行操作
默认服务器是没有任何服务器能力的
如果需要提供web服务,则需要安装web服务器软件
Apache
老牌的服务器软件,稳定可靠
Nginx
比较新,但是在高性能,并发处理能力上比Apache好参考文章:How To Install Nginx on Ubuntu 16.04
安装Nginx:
#在Linux中,很多命令需要管理员权限,sudo就是使用管理员权限来执行命令
#阿里云默认是root超级管理员,可以不加sudo
#新版的Ubuntu也可以把apt-get简写为apt
#在Linux上安装软件很方便,类似npm管理工具,Linux管理的是软件包apt-get
sudo apt-get update
sudo apt-get isntall nginx
#安装成功以后,nginx会自动运行
#检查是否安装成功
systemctl status nginx
#安装成功以后,可以使用ip地址或者域名直接放到80端口进行测试
http://IP地址或者域名
#查看目录,真实的web目录,类似apache的www目录
ls /var/www/html
#进入到这个目录
cd /var/www/html
#通过vi编辑器修改文件
vi 文件名
#vi编辑器保存和退出
:wq
5.安装Node
在Linux或者maxos操作系统中,可以使用第三方工具nvm来安装管理node环境
执行以下的安装脚本:
curl -o- http://raw.githubusercontent.com/creationix/nvm/v0.33.6/install.sh |bash
安装完毕后,需要重启终端即可生效,也可以执行以下命令立即生效
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh"] && ."$NVM_DIR/nvm.sh"安装node
#检测是否安装成功
nvm version
#查看帮助
nvm help
#安装指定版本的node
nvm install 版本号
#测试node环境是否安装成功
node --version
6.安装MySQL
文档:How To Install MySQL on Ubuntu 16.04
连接数据库
mysql -u root -p
创建数据库
CREAT DATABSE 数据库名字 default charset=utf8;
切换到
xxx
数据库use xxx
导入sql语句
source sql文件路径
上传文件
scp [-r]本地文件路径 用户名@主机地址://路径
安装git
sudo apt install git
7.发布API Server
把源码发布到远程仓库
在远程服务器使用
git
来下载项目代码在远程服务器的项目工程目录中执行
npm install
安装依赖创建
xxx
数据库执行
use xxx
source xxx.sql文件路径
导入数据表使用
forever
让node离开终端也可以执行#安装
npm isntall -g forever
#后台运行一个node服务
forever start node 脚本
#查看所有正在运行的服务
forever list
#停止单个服务
forever stop node脚本
#停止所有脚本
forever stopall
8.发布客户端
放到
/var/www/html
目录中修改
/etc/nginx/sites-availabledefault
默认配置文件,加入代理选项