一台服务器部署多个应用。可部署前端工程、node服务、数据库等。javascript
1、服务器
选择合适的服务器,购买便可。
服务器商
一、阿里云
二、腾讯云
三、百度云
html
2、服务器管理面板-宝塔
宝塔面板是一款服务器管理软件,支持windows和linux系统,能够经过Web端轻松管理服务器,提高运维效率。例如:建立管理网站、FTP、数据库,拥有可视化文件管理器,可视化软件管理器,可视化CPU、内存、流量监控图表,计划任务等功能。前端
使用手册
java
3、阿里云CenOS,安装宝塔
一、配置端口
首先配置宝塔须要的端口
node
二、mac 终端链接linux
阿里云链接方式导航
ssh root@YourAliyunServerIp
而后输入你上面设置的密码便可。
第一次使用帐号密码登陆,会提示
直接输入yes便可。nginx
三、安装宝塔git
四、安装成功
Bt-Panel: http://47.110.32.46:8888/1c894253
username:jingwhale
password: adminzylgithub
4、阿里云CenOS环境配置
一、基础环境安装
Linux面板下,主要支持LNMP和LAMP、Tomcat、node.js
LNMP和LAMP环境的安装
安装完成在浏览上打开面板的地址,登入面板,面板会自动推荐你安装环境套件,这里有两种选择,第一种是LNMP套件,第二种是LAMP套件(如图):
LNMP和LAMP环境主要的区别在于web服务器上面,一个使用是Apache服务器、一个使用Nginx服务器。
若是你不了解两种的区别和差别请使用推荐安装(LNMP套件),安装方式这里根据自身实际的状况选择,若是不了解,也使用默认的安装方式(极速安装)。若是不须要这些套件也能够在面板左侧功能栏选择《软件管理》,在当前列表自行选择安装程序。web
二、NodeJS环境安装
1)nvm
2)pm2
宝塔也有PM2进程管理工具,安装PM2管理工具,在面板左侧工具栏,软件中心,在选择PM2安装便可。
4)使用cnpm
https://npm.taobao.org/
npm install -g cnpm --registry=https://registry.npm.taobao.org
可防止页面中文乱码。
5、前端静态页面部署
1)使用宝塔网站管理,添加网站管理
2)将代码clone到wwwroot文件下的项目文件夹下便可。
3)在网站设置中,设置域名管理
4)配置ip访问
前提是ip与服务器已经备案,不备案阿里云服务不可访问。
ip设置增长解析,添加A记录类型,以下图:
此外,腾讯云开发者平台的pages服务部署静态网站,只须要将git仓库开启pages服务便可,可绑定域名,https。
6、Node服务器部署-eggjs
1)使用宝塔网站管理,添加网站管理
2)部署Node服务
eggjs部署
JavaScript 语言自己不须要编译的,构建过程主要是下载依赖。但若是使用 TypeScript 或者 Babel 支持 ES6 以上的特性,那就必需要这一步了。
通常安装依赖会指定 NODE_ENV=production 或 npm install --production 只安装 dependencies 的依赖。由于 devDependencies 中的模块过大并且在生产环境不会使用,安装后也可能遇到未知问题。
$ cd baseDir $ npm install --production $ tar -zcvf ../release.tgz .
但,若是dependencies 的依赖会由于不一样的环境,依赖不一样的话,建议在服务器安装依赖。例如,puppeteer会依据不一样的环境加载不一样chrome模拟器,须要服务器安装依赖。
3)服务访问方式
*ip地址方式
服务器公网地址:7001,须要在eggjs中配置hostname为0.0.0.0:
config/config.default.js
config.cluster = { listen: { port: 7001, //可本身配置 hostname: '0.0.0.0' } };
*域名方式
-eggjs配置
默认127.0.0.1:7001
config/config.default.js
config.cluster = { listen: { port: 7001, //可本身配置 hostname: '' } };
-宝塔配置
设置nginx反向代理
目标访问www.xxx.cn让nginx反向代理到,www.xxx.cn:7001地址
打开宝塔的nginx配置,修改server{}内的
listen 80; server_name www.xxx.cn;
还须要在server内加上一个配置
location / { proxy_pass http://127.0.0.1:3000; }
配置好后,访问 www.xxx.cn 的请求就会自动代理到 http://127.0.0.1:7001 ,这样就能够能使用nodejs开辟的接口了。
-宝塔面板Nginx SSL 配置
-放行eggjs端口(若已在放行内,没必要再进行放行操做)
具体放行端口方法
其余
lunix命令
查看服务器是几核
dmesg | grep CPU | grep ID