一、前言
前面我们已经尝过了在云服务器上部署代码的甜头了,现在主菜就要上场了,那就是将我们的 JavaWeb 项目部署到云服务器上。兴奋吧?淡定淡定~
二、项目部署
我们对于 Java Web 项目在本地机器(无论是 Windows 还是 Linux)上的部署已经了然于心了,那么对于在云服务器上部署 Java Web 项目又是如何 *** 作的呢? 其实很简单,还是离不开 Web 项目部署的那三点:
① 基础的 JDK 环境
② 一个 Web 服务器。如 Tomcat、JBoss
③ 一款数据库。如:mysql
对于云服务器上 Java Web 项目的部署,和平时在 Windows、Linux 下部署是一样的。最多也就是只能使用纯命令模式来 *** 作而已,其实过程都一样。
21 环境准备
既然是 Java Web 项目的部署,首先自然需要配置好相关的环境罗。也就是:先在云主机上搭建好 Java 开发环境,如 OpenJDK 的安装、Tomcat 的安装、Mysql 数据库的安装。
22 项目部署
我们要部署 Java Web 项目,那就至少得将项目上传到云服务器。其实过程很简单,基本上也就是下面三个步骤:
① 打包上传:将项目打包成 war 文件,然后利用传到远程服务器(在Eclipse中直接将项目导出为war文件)。
② 将 war 文件移动到 Tomcat 目录下的 webapps 下。
③ 重启 Tomcat,访问我们的项目。
在这个过程中,我们需要注意。因为一般而已,作为一个 Web 项目,我们肯定是有数据库的使用的。那么数据库部分怎么办呢?其实,只需要将我们已有的数据库转储为 sql 文件,然后将 sql 文件上传到云服务器上执行即可。以 mysql 为例,如下 *** 作:
① 转储为 sql 脚本,并上传:先在本地将我们项目使用的数据库转为 sql 文件,上传到云服务器上 (可以利用 Navicat 将数据库转储为sql文件)。
② 执行 sql:然后进入 mysql 中执行该 sql 文件。(若服务器装有Navicat,可直接用Navicat执行sql文件,执行前需要选中存放表的数据库,应该与代码中数据库连接语句包含的数据库名保持一致)
1、Visual Studio 使用您在项目“属性”页的“打包/发布 Web”选项卡中创建的设置,确定放入部署包中的内容。 下图显示了“打包/发布 Web”选项卡。
在“打包/发布 SQL”选项卡上输入影响包创建的数据库相关设置,本主题后面将对此进行描述。
利用这两个选项卡,可以更新最常用的设置。 其他不常使用的设置存储在 Visual Studio 项目文件(csproj 或 vbproj)中,可以通过直接编辑该文件进行更改。
创建部署包
可以通过以下方式创建包:
使用 Visual Studio 中的工具。
直接从命令行使用 MSBuild 命令。
间接从 PowerShell 或 Team Build 使用 MSBuild 命令。
安装部署包
创建部署包之后,将其安装在目标计算机上。 Web 部署使用包中的信息来配置 IIS、设置数据库、创建文件夹结构并将文件复制到其中,以及执行部署应用程序所需的任何其他 *** 作。
2、可以通过以下方式安装包:
从命令行使用 Web 部署。
使用 Visual Studio 创建的 cmd 文件,该文件包含安装包的 Web 部署命令。 Web 部署命令可以长而复杂,提供此文件是为了便于从命令行安装包。
使用 IIS 管理器。
使用 PowerShell 执行 Web 部署命令。
可以在创建包时在其中包括参数。 这些是名称/值对,在创建包时将为其提供默认值,但在安装包时可以为其提供新值。 如果使用 IIS 管理器来安装包,则将使用文本框显示参数名称,以便您可以输入新值。 如果您通过从命令行使用 Web 部署进行安装,则可以在 XML 文件中指定参数值。
包文件夹的位置和内容
默认情况下,Visual Studio 将在由 MSBuild IntermediateOutputPath 属性标识的文件夹中生成部署包。IntermediateOutputPath 属性引用项目的 obj\配置 文件夹,如下图的“解决方案资源管理器”窗口中所示:
3、一键发布:
也可以使用 Visual Studio 的一键式发布功能,以远程方式进行部署。 在这种情况下,您将在发布配置文件中指定 Visual Studio 应如何在何处部署应用程序。 下图显示“发布配置文件”对话框。
使用cloud-init编写脚本,在创建服务器的时候就写入脚本,在无人值守的情况下完成服务环境的配置/软件的安装(nginx/php等)/自己开发的项目的初次部署及配置在创建阿里云ECS的时候写入:
主要干了两件事:
要用cloud-init的,需要先看下 cloud-init官网
php composer-setupphp 执行失败原因还不知道
我这里三个环境的名字是:production/staging/test,各个文件的目录也是这样
初次部署项目使用的是工具deploy,在我们其他项目中也有介绍,如:
使用deployer部署工具配合阿里云RDC完成部署
deployer文档
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)