轻量级服务器部署方案 -(阿里云CenOS+宝塔)
一台服务器部署多个应用。可部署前端工程、node服务、数据库等。
一、服务器
选择合适的服务器,购买即可。
服务器商
1、阿里云
二、服务器管理面板-宝塔
宝塔面板是一款服务器管理软件,支持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
lunix命令行操作
Linux解压.tar .tgz .tar.gz .tar.Z等文件
轻量级服务器部署方案 -(阿里云CenOS+宝塔)的更多相关文章
- 【hexo博客搭建】将搭建好的hexo博客部署到阿里云服务器上面(下)
一.部署到阿里云服务器 既然博客也已经成功在本地部署,然后主题也成功安装,接下来就可以部署到服务器上面了,如果你也想要魔改matery主题,可以去各种博客上面找一找大佬的教程,或者联系我,也可以让你少 ...
- javaWeb项目部署到阿里云服务器步骤
记录web项目部署到阿里云服务器步骤 (使用 web项目.阿里云服务器.Xftp.Xshell),敬请参考和指正 1.将要部署的项目打包成WAR文件格式,可以在MyEclipse.Eclipse都可以 ...
- 将nodejs代码部署到阿里云服务器
概述 最近在做一个小项目,其中用nodejs做了个数据转发的接口,之后需要将这部分代码部署到服务器上面,并使用Nginx做反向代理.期间使用搜索引擎大量查阅了其他同鞋的经验,不过写的大多很笼统,因此踩 ...
- 小程序后端项目【Springboot框架】部署到阿里云服务器【支持https访问】
前言: 我的后端项目是Java写的,用的Springboot框架.在部署服务器并配置https访问过程中,因为做了一些令人窒息的操作(事后发现),所以老是不能成功. 不成功具体点说就是:域名地址可以正 ...
- javaWeb项目部署到阿里云服务器步骤 完整版
记录web项目部署到阿里云服务器步骤 (使用 web项目.阿里云服务器.Xftp.Xshell),敬请参考和指正 1.将要部署的项目打包成WAR文件格式,可以在MyEclipse.Eclipse都可以 ...
- 如何把php项目部署到阿里云服务器window server2012__含公网ip访问时jquery/ajax失效解决办法
记一次蛋疼的折腾. 弄了一晚上最后发觉是360浏览器的问题,换个浏览器就好了.垃圾360用什么IE7文档模式.导致界面和功能失效. 建议大家测试的时候用firefox或者chrome. 项目部署到服务 ...
- 2018.11.7 关于将Web项目部署到阿里云服务器-5个步骤搞定
将Eclipse导出的War包部署到阿里云服务器上,提供给移动端实时的访问 1. 先登录阿里云网站注册账号,选择服务器类型(我用的是 云服务器ECS), 如果你还是在读大学生可享受优惠价,最低好像是9 ...
- 将html代码部署到阿里云服务器,并进行域名解析,以及在部署过程中遇到的问题和解决方法
本博客主要是说一下,,如何将html代码部署到阿里云服务器,并进行域名解析,以及在部署过程中遇到的问题和解决方法. 1.先在阿里云上购买一台阿里云服务器(ECS云服务器): 2.远程连接上该服务器,在 ...
- Java Web项目部署到阿里云服务器(ECS)
本篇随笔只是记录博主第一次将自己的Java项目部署到阿里云服务器的大致过程,具体细节还请参考别的博文. 一.项目介绍 我做的项目是利用maven项目构建工具进行搭建基于SSM框架的代码共享管理系统,主 ...
随机推荐
- Spring Boot初识(3)- Spring Boot整合Swagger
一.本文介绍 如果Web项目是完全前后端分离的话(我认为现在完全前后端分离已经是趋势了)一般前端和后端交互都是通过接口的,对接口入参和出参描述的文档就是Mock文档.随着接口数量的增多和参数的个数增加 ...
- 牛刀小试MySQL--GTID
GTID的概念 何为GITD GTID(global transaction identifier)是全局事务标识符,在MySQL5.6版本中作为一个超级特性被推出.事务标识不仅对于Master(起源 ...
- C# ListBox 自动滚动到底部 方法:
在ListBox中添加一条记录(ListBox.Items.Add方法)后,滚动条会自动回到顶部.我们可能更希望它自动滚动到底部,简要介绍几种方法. 方法一: this.listBox1.Items. ...
- C# 性能优化 之 秒表 Stopwatch。
生词解释:Diagnostics[,daɪəg'nɑstɪks] n.诊断学 using System.Diagnostics; Stopwatch sw = new Stopwatch (); sw ...
- C#操作IIS站点 Microsoft.Web.Administration.dll
利用IIS7自带类库管理IIS现在变的更强大更方便,而完全可以不需要用DirecotryEntry这个类了(网上很多.net管理iis6.0的文章都用到了DirecotryEntry这个类 ),Mic ...
- c# Session写入读取操作
/// <summary> /// 写Session /// </summary> /// <typeparam name="T">Sessio ...
- JAVA 的输入与输出流当中,什么时候该使用字符流?什么时候该使用字节流?
1. InputStream 和OutputStream,两个是为字节流设计的,主要用来处理字节或二进制对象, 2. Reader和 Writer.两个是为字符流(一个字符占两个字节)设计的,主要用来 ...
- 以前没有写笔记的习惯,现在慢慢的发现及时总结是多么的重要。 这一篇文章主要关于java多线程一些常见的疑惑点。因为讲解多线程的书籍和文章已经很多了,所以我也不好意思多说,嘻嘻嘻、大家可以去参考一些那些书籍。我这个文章主要关于实际的一些问题。同时也算是我以后复习的资料吧,。还请大家多多指教。 同时希望多结交一些技术上的朋友。谢谢。
在java中要想实现多线程,有两种手段,一种是继续Thread类,另外一种是实现Runable接口. 以下就是我们常见的问题了: 1. 为什么我们不能直接调用run()方法呢? 我的理解是:线程的运行 ...
- Git的概念及常用命令
一.概念 Git是一个分布式的版本控制工具,区别于集中式管理的SVN. 二.优势 每个开发者都拥有自己的本地版本库,可以在本地任意修改代码.创建分支,不会影响到其他开发者的使用: 所有版本信息均保存在 ...
- 教你读懂vue源码技术教程
由于 Vue 的源码采用 ES6,所以你至少应该掌握 ES6 才能看得懂,其次你最好对 package.json 中的字段的作用有所了解.由于 Vue 使用 Rollup 构建,所以你不了解 Roll ...