轻量级服务器部署方案 -(阿里云CenOS+宝塔)
一台服务器部署多个应用。可部署前端工程、node服务、数据库等。
一、服务器
选择合适的服务器,购买即可。
服务器商
1、阿里云
2、腾讯云
3、百度云
二、服务器管理面板-宝塔
宝塔面板是一款服务器管理软件,支持windows和linux系统,可以通过Web端轻松管理服务器,提升运维效率。例如:创建管理网站、FTP、数据库,拥有可视化文件管理器,可视化软件管理器,可视化CPU、内存、流量监控图表,计划任务等功能。
三、阿里云CenOS,安装宝塔
1、配置端口
首先配置宝塔需要的端口
2、mac 终端连接
阿里云连接方式导航
ssh root@YourAliyunServerIp
然后输入你上面设置的密码即可。
第一次使用账号密码登录,会提示
直接输入yes即可。
4、安装成功
Bt-Panel: http://47.110.32.46:8888/1c894253
username:jingwhale
password: adminzyl
四、阿里云CenOS环境配置
1、基础环境安装
Linux面板下,主要支持LNMP和LAMP、Tomcat、node.js
LNMP和LAMP环境的安装
安装完成在浏览上打开面板的地址,登入面板,面板会自动推荐你安装环境套件,这里有两种选择,第一种是LNMP套件,第二种是LAMP套件(如图):
LNMP和LAMP环境主要的区别在于web服务器上面,一个使用是Apache服务器、一个使用Nginx服务器。
如果你不了解两种的区别和差异请使用推荐安装(LNMP套件),安装方式这里根据自身实际的情况选择,如果不了解,也使用默认的安装方式(极速安装)。如果不需要这些套件也可以在面板左侧功能栏选择《软件管理》,在当前列表自行选择安装程序。
2、NodeJS环境安装
1)nvm
2)pm2
宝塔也有PM2进程管理工具,安装PM2管理工具,在面板左侧工具栏,软件中心,在选择PM2安装即可。
4)使用cnpm
https://npm.taobao.org/
npm install -g cnpm --registry=https://registry.npm.taobao.org
可防止页面中文乱码。
五、前端静态页面部署
1)使用宝塔网站管理,添加网站管理
2)将代码clone到wwwroot文件下的项目文件夹下即可。
3)在网站设置中,设置域名管理
4)配置ip访问
前提是ip与服务器已经备案,不备案阿里云服务不可访问。
ip设置增加解析,添加A记录类型,如下图:
此外,腾讯云开发者平台的pages服务部署静态网站,只需要将git仓库开启pages服务即可,可绑定域名,https。
六、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