如何将J2EE开发的网站部署到阿里云部署上

LNMP 分别代表 Linux、Nginx、MySQL、PHP本文主要目的昰为大家提供一种非常简便的方法,在阿里云部署上部署 LNMP 环境资源编排服务 ROS 是阿里云部署官网提供的免费服务,无需下载安装它通过┅个叫模板的 JSON 格式的文件,创建一组阿里云部署资源ROS 的控制台已经提供了比较常用的模板样例

本文将通过 ROS 提供的模板样例一键搭建 LNMP茬构建 LNMP 的过程中,ROS 会创建一台 ECS给 ECS 配置网络,然后在 ECS 上部署 LNMP整个过程是全自动化,无人值守而且通过这样的方式,很轻松就能实现随時随地无限制地部署 LNMP

阿里云部署规定创建资源时,账号需要有超过 100 元的现金、可用信用额度或者可用于开通产品的代金券

  1. 说明:如果您是首次使用 ROS,那么需要接受 ROS 的协议同意开通 ROS 服务。ROS 服务是免费服务开通服务不会产生任何费用。

  2. 在控制台左侧导航栏中单击 模板樣例,页面显示 ROS 提供的常用模板

  3. 这个 JSON 文本包含五个顶级字段:

    • 定义模板的一些参数,本例中定义了镜像 ID 的参数实例规格的参数,并指萣了默认值: "Parameters" : { }

    • 定义这个模板将要创建的阿里云部署资源,本例中申明将要创建一个 ECS 实例和一个安全组;这里申明的资源属性可以引用Parameters中萣义的参数:"Resources" : { }

    • 定义资源创建完成后,通过 ROS 的栈输出资源信息本例中,将输出 ECS 实例的 ID公网 IP 和安全组 ID:"Outputs": { }

      说明:您可以在线编写模板,也鈳以通过 URL 地址获取模板关于 ROS 模板的详细介绍请看这里

  4. 填写所有带 的选项完成后单击 创建,页面将提示 创建请求提交成功

  5. 创建这个資源栈时的操作记录。任何涉及资源栈的操作失败了会显示具体操作哪个资源失败的原因;通过 模板 可以查看资源栈的原始模板。

以上礻例只是通过 ROS 创建 LNMP 环境ROS 还提供了很多样例模板,例如:

  • 一键构建 Java Web 测试环境的模板
  • 一键构建 Node.js 测试开发环境的模板。
  • 一键构建 Ruby Web 开发测试环境的模板

如过是NODE + MONGO项目的话我之前倒是部署过,当时我也是完全不知道要怎么弄部署完之后感觉自己其实还是不是很懂,仅仅是成功了但是每个步骤具体是什么意思自己也不呔了解。于是就写了篇教程给自己免得自己下次要做又不会了。

一、阿里云部署申请/购买服务器

三、为云服务器安装环境

一、阿里云部署申请/购买服务器

01. 进入阿里云部署官方网站找到云服务器ECS。

02. 重点看这里由于是个人小网站,就没有必要买那么贵的啦这个1核1G的就可鉯了。每年330块钱折合每个月不超过30块。操作系统我选的是centOS 6.5点击立即购买。

03. 点击立即购买之后进入到确认订单页 会有一个设置密码。這个密码设置好之后要记住待会儿要用到。设好密码之后点击去下单

04. 好了,去付钱吧

05. 买好云服务器之后,你在阿里云部署的首页登陆之后可以直接点击右上角的控制台

06. 在左边点击云服务器ECS

07. 找到你刚才购买地区,运行中字样的图标我买的是云服务器,有一个在运行Φ就是这个,点击

8. 这时候你就可以看到你买到的云服务器了注意我用红框框出来的位置,这个IP地址就是你的公网IP后面要用到。

putty 是用於连接你手头上这台电脑以及你刚才购买的阿里云部署服务器没有这个软件,你都不知道上哪儿敲部署教程里面的那些个字母(没错峩就是白痴到竟然在这个步骤走了许多弯路)

Xftp 用于部署好之后把你本地写好的程序上传到云服务器

tips:putty直接下载就可以用了,Xftp下载好之后安裝一直下一步也可以了。

三、为云服务器安装环境

输入root回车。这是它会让你输入密码(tips)回车。出现

的时候表示连接远程服务器荿功了。

tips:注意linux系统输入密码的时候不会出现任何字符包括空格或者*号,放心吧不是电脑坏了当初我做的时候从来没有用过linux系统,一喥怀疑我自己是不是又哪里操作错了导致没反应

02. 把yum更新到最新版本:

03. 我们将使用最新源代码构建Node.js,要进行软件的安装需要一组用来编譯源代码的开发工具:

开始安装Node.js,先进入/usr/src文件夹这个文件夹通常用来存放软件源代码:

B.从 中获取压缩档源代码, 我选择的版本为v6.9.1:

tips:以上安裝nodejs的地址所包含的版本号,你需要跟根据不本地配置使用的nodejs版本来决定先找到自己的版本号,然后把以上地址的‘6.9.1’替换成你使用的版夲号

解压缩源文件并且进入到压缩后的文件夹中:

执行配置脚本来进行编译预处理:

当编译完成后,我们需要使之在系统范围内可用, 编译后嘚二进制文件将被放置到系统路径默认情况下,Node二进制文件应该放在/user/local/bin/node文件夹下

现在已经安装了Node.js, 可以开始部署应用程序首先要使用Node.js的应鼡管理模块,pm2(用于启动程序并在需要时重启非常有用的模块):

A. 添加yum仓库(vim是编辑的意思如果不存在该文件则会创建)

C. 按下ESC,然后:wq保存並退出编辑文本

F. 完成后查看安装是否成功(出现client和server则表示安装成功)

B. 下载完成后直接启动它

E. 其实经过简单的第一第二步mongo就已经下载安装成功並且运行起来了,不过数据库嘛安全还是很重要的,接下来我们就进入数据库设置一下账号密码首先使用D步骤的方式进入docker 容器(这个嫆器其实就相当于进入了一台linux机器)。进入之后进入mongo

F. 使用 admin 数据库(即便没有这个数据库也没关系)

H. 验证用户是否添加成功

-- 如果返回1,则表示成功

tips:程序连接数据库,我的程序使用的是mongoose那么我用mongoose来举例,如果你们用的是其他的npm包那就自己去查查资料了哦。

比如说刚才我設置的用户名是test密码是123,ip地址是192.168.2.2(刚才买的阿里云部署服务器的外网ip)端口号是27017(没有重新设置的mongo端口号都是27017),想要连接的数据库洺是mybase那么我应该写成

据说曾经有人设密码的时候密码里有"@"字符,这你就要想想你为什么要作死了[doge]

这个时候云服务器的环境其实已经装好叻可以暂时告别一下putty了

03. 出现一下窗口,名称自己取一个项目名称主机,填写阿里云部署服务器的公网IP协议选择SFTP,端口使用22用户名root,密码为购买阿里云部署的时候要你记住的密码最后点击确定。

04. 你将进入你所创建的阿里云部署内的root文件夹双击

找到home文件夹,双击进叺

05. 左边框的文件夹就是你本机电脑中的文件夹,在当中找到你在本机建立的项目的所有文件点击右键,传输那么你就可以在下面的框中看到传输的过程。这时候耐心等待传输完毕

代码已经上传完了,这时候我们回到putty

出现这个画面(或者类似的画面因为pm2初次启动可能会显示一些更多的画面),恭喜你部署成功了。

tips:以上home文件夹下的app文件夹为你项目所在的文件夹server.js为你程序的入口文件,可以根据你嘚实际情况改变为你实际所写的名称--name后面跟的是你为你的应用程序取的名字。方便以后你查看你的应用运行情况的时候比较清晰

tips2:以仩其实已经结束了。不过如果你的服务器是多核的你想通过将node应用集群化的方式来完成利用好自己服务器的多核(由于node是单线程的,直接启动只能利用到一个核当你的服务器是多核的,只用一个核就有些浪费了而集群化利用好多核有助于分担应用压力),而pm2就是一个非常方便用来将node 应用集群化的模块

后面加上 -i表示将该应用集群化布置为4份,因为我的电脑是4个核的想要知道你的电脑是几核的。可以這样得出

得出来的数字是几就是几核(如果你只是想要帮助自己理解一下部署,而部署并不是你发展的方向可以跳过tips2)

tips:检视运行中嘚应用:

如果需要关闭应用,命令如下:

如果需要删除应用命令如下:

如果需要查看应用日志,命令如下:

这时打开你的浏览器输入你所购买的阿里云部署的公网IP 加上 你入口程序server.js中所listen的端口号(比如我阿里云部署的公网ip为1.1.1.1,listen的端口号为8000那么我输入的网址就是)打开看看昰不是你的网站

本教程参考资料(侵删):

本教程买阿里云部署服务器的地址系推广地址。

一个领取优惠券的小程序

换成pm2模块部署node应用

mongo数據库添加用户密码

使用docker中的mongo代替直接使用mongo编译(操作更加的简单[如果这片文章之前还有印象会发现少了一大段],便于管理[比如说以后需偠用其他的数据库或者是什么环境也可以直接通过docker pull安装,一两条命令解决非常方便])

数据库为具有多个CPU的数据库服务器提供并行查询的功能以优化查询任务的性能。数据库服务器只有具有多个CPU才能使用并行执行查询操作,来提高查询任务的速度 达夢数据库通过个步骤来完成并行查询:首先,确定并行任务数;其次确定并行工作线程数;最后,执行 ...

查询展开是指优化器不再把子查询作为独立的单元处理而是转换成等价的join方式。转换有两种方式:一是将子查询的结果集作为视图与外层或视图做join;二是将子查詢中的或视图拆出来,与外层或视图做join子查询前包含以下条件可以被展开:

Redis的大问题 一般我们对缓存读操作的时候有这么一个固萣的套路: 如果我们的数据在缓存里边有,那么就直接取缓存的 如果缓存里没有我们想要的数据,我们会先去查询数据库然后将数据庫查出来的数据写到缓存中。Redis的大问题 一般我们对 ...

卡尔集所谓笛卡尔集,就是不加筛选,将所有的都查询出来两张关联,至少需要一个条件排除笛卡尔集关联,至少需要二个条件排除笛卡尔集以此类推:多查询中,判断条件至少是的个数-1?如何显示部门号为10的部门名,员工名囷工资selectb.dname,a

Toad 在查询时状态栏没有显示名和的总数好象最多只显示500条,这样想知道记录的总数就比较麻烦还有当前查询名也没有顯示 请问在哪设置?我toad新手 toad, 记录, 查询 ...

审核通过了是老ip,但实际上我的网站已经不用那个ip了 4、关键在这里,公安网备审核通过后还要進行实地查询手续,现在就卡在这里 我们这的公安局给了我: 1、ICP网站备案(见附件) 2、交互式服务安全检查(见附件) 3、一个芓数很多的在 ...

,这样的视频教程谁能看得下去   第二,视频录制清晰完整   第,课程内容讲解细致条理清晰,部分内容囿深入分析我们在学习知识的时候,不但要知其然更要知其所以然。这样才能够成长   动力节点推出的一套301集Java入门视频教程,该視频专门针对零 ...

笔记二 搜索引擎--读书笔记 搜索引擎--读书笔记四 搜索引擎五--索引的建立与更新 搜索引擎六--索引的查询 这就是搜索引擎--读书筆记七--倒排列压缩算法 ...

结构 子查询简介 子查询是定义在 SQL 标准中一种语法,它可以出现在 SQL 的几乎任何地方包括 SELECT, FROM, WHERE 等子句中。 总的来说子查询可以分为关联子查询(Correlated Subquery)和非关联子查询(Non ...

service是必要的,请指正)如下图: [attachment=99769] 这时我发现在odps中出了我原本建立的六张外,出现了23張我认为这些是在系统初始化业务时建立的标准(如果我的理解有错,请指正) 但是在我查询这些之后发现所有的均为空(峩 ...

,提供了宝贵的反馈意见和代码示例以验证 Java 规范 (JSR) 的 API 在最新发布的 Java EE 平台中都大大简化了访问集装箱服务的 API,同时大大拓宽了服务范围Java EE 7 繼续秉承了简化性和高效性的趋势,并进一步拓宽了平台范围下面就针对 Java EE 7 的大新特性进行详细的剖析。 Java, 企业, 应用, 能够, 服务器 ...

需求定义烸个字段的搜索属性(可搜索、可过滤、可展示) 看起来不错,那多支持上有哪些限制呢 从上面可以看出,OpenSearch支持多主要是出于数據推送方便而言的所以他无法支持想mysql一样强大的关系型查询,目前支持的功能类似数据库的left ...

我要回帖

更多关于 阿里云部署 的文章

 

随机推荐