轻量级服务器部署方案 -(阿里云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框架的代码共享管理系统,主 ...
随机推荐
- docker学习系列(二):使用Dockerfile创建自己的镜像
dockerfile可以允许我们自己创建镜像,通过编写里面的下载软件命令,执行docker build 即可生成镜像文件. 初尝dockerfile 新建一个目录test,然后进入这个目录,创建一个名 ...
- leetcode — two-sum-iii-data-structure-design
import java.util.HashMap; import java.util.Map; /** * Source : https://oj.leetcode.com/problems/two- ...
- C语言第五讲,语句 顺序循环选择.
C语言第五讲,语句 顺序循环选择. 一丶语句的简明了解 我们知道,在编写C语言程序的时候,代码是顺序执行的. 从上往下执行. 但是我们可以控制流程的. 在控制之前,我们要先熟悉什么是语句. 相比大家学 ...
- [TensorFlow] Introduction to TensorFlow Datasets and Estimators
Datasets and Estimators are two key TensorFlow features you should use: Datasets: The best practice ...
- Python 浅谈编程规范和软件开发目录规范的重要性
最近参加了一个比赛,然后看到队友编程的代码,我觉得真的是觉得注释和命名规范的重要性了,因为几乎每个字符都要咨询他,用老师的话来说,这就是命名不规范的后续反应.所以此时的我意识到写一篇关于注释程序的重要 ...
- mybatis教程5(延迟加载和缓存)
关联关系 在关系型数据库中,表与表之间很少是独立与其他表没关系的.所以在实际开发过程中我们会碰到很多复杂的关联关系.在此我们来分析下载mybatis中怎么处理这些关系 1对1关系 我们有一张员工表(T ...
- VUE + ElementUI 从搭建到运行
版权声明:本文为博主原创文章,欢迎转载,转载请注明作者.原文超链接 前言:本文简洁的描述VUE + ElementUI 从搭建到运行,可以根据本文先搭建出可运行的项目,然后再详细回顾每个步骤所做的事: ...
- Django之破解数独
数独是一项快乐的益智游戏,起源于18世纪瑞士的一种数学游戏.解答者需要运用纸.笔进行演算,需要根据9×9盘面上的已知数字,推理出所有剩余空格的数字,并满足每一行.每一列.每一个粗线宫(3*3)内的 ...
- c# 获取本机IP
/// <summary> /// 获取本机IP /// </summary> /// <returns></returns> public stati ...
- Java面试总结(集合、spring)
Java 集合框架简介 Java Collections Framework,最开始也是一个开源框架,后来被收录到JDK中 所谓的集合,就是能存放多个数据元素的容器,在Java中原生的容器是数组 数组 ...