精华内容
下载资源
问答
  • 对工作进行了部署
    千次阅读
    2020-06-17 15:34:10

    自动化的部署工作流是每个软件开发团队都必须拥有的强大工具。 快速,安全和容错的发布过程可以节省开发更多功能的时间。 好消息是,有许多很棒的工具可以创建一个自动发布周期。

    在本文中,我将向您介绍一个名为Deployer的部署工具。 我喜欢使用它,因为它是用PHP编写的,易于设置,并且具有许多方便的功能,可以将部署过程集成到团队的工作流程中。

    部署者的部署过程

    首先,让我们看一下Deployer的部署过程的结构。 它由三个主要部分组成:用于初始部署的部署服务器 ,用于承载应用程序的生产或登台服务器以及用于存储应用程序代码的git存储库

    初始化部署过程时,可以在部署服务器上运行部署脚本。 之后,部署服务器使用SSH连接到生产服务器,并从生产服务器执行维护工作,例如从git存储库中克隆代码,更新Composer的依赖项以及成功发布所需的其他内容。

    部署者部署过程

    为了使该链中的每个人都受到信任,我们将创建SSH证书并将其安装到服务器和存储库。

    安装SSH证书

    我们需要在生产服务器上创建SSH身份验证密钥,并将其共享到git存储库。 如果您的部署服务器上没有任何SSH身份验证密钥,请运行ssh-keygen并按照说明进行操作。 Keygen将在~/.ssh/id_rsa.pub文件中创建一个公共密钥。

    现在,您可以将其安装到存储库的帐户中。 如果您不知道如何执行此操作,请从本文底部的相关链接中查看GitHub的示例,或者向您的存储库托管服务寻求帮助。

    另外,最好在部署服务器上创建SSH密钥以在生产计算机上获得信任。 使用这些命令在部署服务器和生产服务器之间建立无密码的SSH连接。

    vagrant@localserver:~$ ssh-keygen
    vagrant@localserver:~$ ssh-copy-id -i ~/.ssh/id_rsa.pub www-data@my_project.com

    安装了所有证书之后,我们就可以安装Deployer了。

    安装部署程序

    Deployer的安装与Composer的安装一样容易。 您需要下载PHP Archive并使其成为全局命令:

    curl -LO https://deployer.org/deployer.phar
    mv deployer.phar /usr/local/bin/dep
    chmod +x /usr/local/bin/dep

    让我们检查Deployer的版本以查看是否已正确安装所有内容:

    vagrant@localserver:~$ dep --version
    Deployer 6.0.3

    一切看起来都很不错,我们准备创建第一个部署脚本。

    制作第一个部署脚本

    要为您的项目初始化Deployer,请运行dep init 。 这将执行一个实用程序以生成部署脚本,该脚本将要求您提供项目类型和存储库链接,并将在当前目录中创建deploy.php文件。 让我们看一下该文件和配方中使用的主要功能。

    get使用配置值set和使用这些函数,以及getter的快捷方式可以与run命令一起使用:

    set('current_path', '~/my_application');
    run('rm {{current_path}}/runtime/*');

    可以为每个主机覆盖每个配置值。 我们可以在我们的部署脚本中为我们的应用程序设置部署路径和SSH用户:

    host('my_project.com')
        ->user('www-data')
        ->set('deploy_path', '~/{{application}}');

    要定义自己的任务,请使用task功能并run以在生产服务器上运行命令:

    task('disk_free', function() {
        $df = run('df -h /');
        writeln($df);
    });

    然后使用dep和函数名称作为参数来运行它:

    vagrant@localserver:/vagrant/deployer$ dep disk_free
    ➤ Executing task disk_free
    Filesystem      Size  Used Avail Use% Mounted on
    /dev/md0        7.4G  4.7G  2.4G  67% /
    ✔ Ok

    现在,您可以浏览部署文件,并将所有必需的参数更改为应用程序的配置。

    部署到生产

    我们已经安装了Deployer,已将SSL证书安装到了部署服务器和生产服务器,并制作了部署脚本,因此终于可以将所有这些放在一起并进行首次部署到生产了。

    要部署您的应用程序,只需调用dep deploy

    部署到生产

    如果出现问题,只需一步即可回滚到以前部署的版本:

    vagrant@localserver:~$ dep rollback
    ✔ Executing task rollback

    看起来很简单,不是吗?

    现在,让我们检查一下在生产服务器上创建的内容。 感谢Deployer,我们可以使用快捷命令轻松完成此操作。 尝试使用dep ssh使用部署脚本中的配置直接连接到服务器,或者使用dep run通过SSH隧道远程执行命令。 另外,此命令支持我们在脚本中设置的变量。

    因此,让我们看一下部署路径:

    vagrant@localserver:~$ dep run "tree {{deploy_path}}"
    .
    ├── current -> /home/user/my_project/releases/3
    ├── releases
    │   ├── 1
    │   │   ├── composer.json
    │   │   ├── config.php -> /home/user/my_project/shared/config.php
    │   │   ├── README.md
    │   │   ├── runtime -> /home/user/data/my_project/shared/runtime
    │   │   ├── vendor
    │   │       └── ...
    │   │   └── web
    │   │       └── index.php
    │   ├── 2
    │   │   ...
    │   └── 3
    │       ...
    └── shared
        ├── config.php
        └── runtime

    最主要的是releases目录,Deployer在其中存储我们应用程序的最新版本。 每次成功部署或回滚后,它将current链接到已启用的发行版。 最后,我们有一个shared目录,用于存储脚本文件中设置的shared_dirsshared_files中的文件和文件夹。

    在第一个部署中,Deployer会将这些文件复制到共享目录,并创建从releases目录到shared目录的链接。 下次,它将仅添加从发行文件到共享目录中文件和文件夹的链接。 另外,您可以更改共享目录中的任何文件,并且Deployer会将其保留,而无需在每次部署时都进行更改-例如,这对于配置文件很有用。

    此外,如果存储库的根目录中有composer.json文件,则Deployer将调用Composer创建供应商目录并更新所有需要的依赖关系。 如果您没有将Composer文件存储在根目录中,则可以创建一个自定义任务来更新它。

    现在是时候将应用程序部署集成到我们的流程中了。

    添加自定义任务

    每个团队都有自己的部署配置和流程来自动化,因此Deployer有简单的工具来扩展标准配置并添加自定义任务。 例如,您的主机可能具有将应用程序和webroot存储在不同位置的规则,而无权更改Apache或Nginx的配置。

    但是有一种方法可以克服这个规则-使用符号链接。 因此,我们将为此添加一个任务:

    task('deploy:public_html', function() {
        run('ln -sf {{deploy_path}}/current/web /var/www/my_application.com');
    });

    然后将其作为发布周期的一部分添加到主要部署任务中:

    task('deploy', [
        // ...
        'deploy:public_html',
        // ...
    ]);

    现在再次运行deploy脚本,并使用dep ssh检查一切是否正确。

    第三方食谱

    Deployer有许多与第三方集成的方法,可以扩展基本功能。 我们可以使用Composer来安装它们:

    composer require deployer/recipes --dev

    我喜欢使用Slack通知配方。 要启用它,我们应该转到Slack食谱页面 ,单击Add to Slack按钮,然后选择发送通知的渠道。 然后,我们将获得Slack Webhook并将此代码添加到部署中。

    // require slack recipe
    require 'recipe/slack.php';
    
    // set slack webhook
    set('slack_webhook', /* your slack webhook*/);
    
    // notify slack after successful deploy
    after('success', 'slack:notify:success');

    完成这些更改后,Deployer将向部署通道发送如下消息:

    在Slack中查看部署程序

    现在,您可以将您的团队添加到该渠道,以便可以通知参与的每个人。

    结论

    在本教程中,我们已经安装了Deployer并创建了一个部署脚本,只需单击一下即可将其从git存储库部署到生产或登台服务器。

    而且,它可以集成到团队流程中-例如,可以在master分支中的更改后自动部署应用程序,并可以在Slack通道上发出有关成功部署的通知。

    如有任何疑问,请随时在文章评论中提问。

    翻译自: https://code.tutsplus.com/tutorials/how-to-deploy-with-deployer--cms-29719

    更多相关内容
  • 我使用这种方式进行工作部署的时候只对部署单元(ACT_RE_DEPLOYMENT)和资源(ACT_GE_BYTEARRAY)进行插入,没有去部署流程(ACT_RE_PROCDEF)。 部署后的数据库数据如下: 在ACT_RE_PROCDEF表中没有数据 我在...
         public R test(String name){
            InputStream in=this.getClass().getClassLoader().
                    getSystemResourceAsStream("processes/leave.zip");
            ZipInputStream zipInputStream=new ZipInputStream(in);
            Deployment deploy=processEngine.getRepositoryService()
                    .createDeployment()
                    .addZipInputStream(zipInputStream)
                    .name("leave.bpmn20.xml")
                    .deploy();
            }
    

    我使用这种方式进行工作流部署的时候只对部署单元(ACT_RE_DEPLOYMENT)和资源(ACT_GE_BYTEARRAY)进行插入,没有去部署流程(ACT_RE_PROCDEF)。
    部署后的数据库数据如下:
    在ACT_RE_PROCDEF表中没有数据在这里插入图片描述在这里插入图片描述在这里插入图片描述
    我在网上找到一篇文章:https://blog.csdn.net/peng_wei_kang/article/details/79864183
    上面是说在下面这个类中有一个方法会判断resourceName中是否是.bpmn或者.bpmn20.xml,如果包含才会插入
    F:\Maven\repository\org\activiti\activiti-engine\6.0.0\activiti-engine-6.0.0.jar!\org\activiti\engine\impl\bpmn\deployer\ParsedDeploymentBuilder.class

     protected boolean isBpmnResource(String resourceName) {
            String[] var2 = ResourceNameUtil.BPMN_RESOURCE_SUFFIXES;
            int var3 = var2.length;
     for(int var4 = 0; var4 < var3; ++var4) {
            String suffix = var2[var4];
            if (resourceName.endsWith(suffix)) {
                return true;
            }
        }
    

    但是我打断点时传进来的 resourceName的值是这样的,你们可以试一下,是zip资源中的文件,所以肯定返回的都是false,而用文章中的构建方法DeploymentBuilder builder = repositoryService.createDeployment();时,这个方法并不会走,不知道为什么

    在这里插入图片描述

    于是我使用了另一种方式,没有使用zip包,使用的是bpmn20.xml和png图片的方式,这种方式会走上面的这个判断方法,而且会把leave.bpmn20.xml付给 resourceName进行判断,下面是代码和我的目录结构,这种方式可以部署成功
    在这里插入图片描述

      //使用xml文件部署流程
                DeploymentBuilder deployment = repositoryService.createDeployment(); //创建一个发布对象
                deployment.addClasspathResource("processes/leave.bpmn20.xml");  //添加流程文件路径
                deployment.name("请假流程"); //添加流程部署名称
                Deployment deploy = deployment.deploy();//发布流程*/
    

    这种方式部署后的数据库数据:
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    希望有大神能帮我看看~~~小白感激不尽

    展开全文
  • activiti工作流-发布部署和删除部署

    千次阅读 2018-11-29 00:08:03
    什么是工作流? 工作流(Workflow),就是“业务过程的部分或整体在计算机应用环境下的自动化”,它主要解决的是“使在“多个参与者”之间按照某种“预定义的规则”传递文档、...我们Markdown编辑器进行了一些功能...

    什么是工作流?

    工作流(Workflow),就是“业务过程的部分或整体在计算机应用环境下的自动化”,它主要解决的是“使在“多个参与者”之间按照某种“预定义的规则”传递文档、信息或任务的过程自动进行,从而实现某个预期的业务目标,或者促使此目标的实现”。
    通俗的说,流程就是多个人在一起合作完成某件事情的步骤,把步骤变成计算机能理解的形式就是工作流。

    2. 使用工作流框架的步骤(activiti)

    1.导入jar包(下载地址http://activiti.org/download.html)
    2.解压jar
    3.在解压过的文件夹中找到activiti-5.22.0\wars
    4.把activiti-rest.war文件重命名为activiti-rest.zip然后解压
    5.解压后会出现两个文件夹为META-INF和WEB-INF
    6.此路径activiti-5.22.0\wars\WEB-INF\lib是Activiti的基于spring+springMVC+Mybatis的基本jar包
    7.创建动态java项目
    8.activiti-5.22.0\wars\WEB-INF\lib里面jar包全部导入到项目中
    9.删除h2-1.3.176.jar(因为本人用的是mysql),导入mysql的连接jar包mysql-connector-java-5.1.26-bin.jar
    10.配置activiti的xml文件
    11.绘制流程图(本人使用的是eclipse插件)
    在这里插入图片描述
    12.测试(发布部署以及删除部署)
    12.1.发布部署

    @Test
    	public void testDeloy() throws Exception {
    		// 核心对象(服务大管家)
    		ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();
    		//获取repositoryService仓库服务
    		RepositoryService repositoryService = processEngine.getRepositoryService();
    		//获取流程发布对象
    		DeploymentBuilder createDeployment = repositoryService.createDeployment();
    		//上传资源
    		createDeployment.addClasspathResource("MyProcess.bpmn");
    		createDeployment.addClasspathResource("MyProcess.png");
    		//发布
    		Deployment deploy = createDeployment.deploy();
    		System.out.println(deploy);//DeploymentEntity[id=1, name=null]
    	}
    

    查看数据库中的变化
    自动生成的表在这里插入图片描述
    在这里插入图片描述

    12.2.测试删除部署(真删除,物理删除)

    在这里插入图片描述

    @Test
    	public void testDeleteDeloy() throws Exception {
    		// 获取核心对象
    		ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();
    		// RepositoryService 仓库
    		RepositoryService repositoryService  = processEngine.getRepositoryService();
    		repositoryService .deleteDeployment("1");
    	}
    

    12.3.假删除(挂起)

    @Test
    	public void testDeleteDeloy2() throws Exception {
    		// 获取核心对象
    		ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();
    		// RepositoryService 仓库
    		RepositoryService repositoryService  = processEngine.getRepositoryService();
    		repositoryService.suspendProcessDefinitionByKey("myProcess");
    	}
    

    删除前的数据库
    在这里插入图片描述删除后的数据库
    在这里插入图片描述

    3. activiti的配置文件

    下面是mysql的配置 文件名为activiti.cfg.xml

    <beans xmlns="http://www.springframework.org/schema/beans"
           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
           xsi:schemaLocation="http://www.springframework.org/schema/beans   http://www.springframework.org/schema/beans/spring-beans.xsd">
      <!-- 数据库连接信息 -->
      <bean id="processEngineConfiguration" class="org.activiti.engine.impl.cfg.StandaloneProcessEngineConfiguration">
        <property name="jdbcUrl" value="jdbc:mysql:///activiti?createDatabaseIfNotExist=true" />
        <property name="jdbcDriver" value="com.mysql.jdbc.Driver" />
        <property name="jdbcUsername" value="root" />
        <property name="jdbcPassword" value="123456" />
        <!-- 如果没有表则创建表-->
        <property name="databaseSchemaUpdate" value="true" />
      </bean>
    </beans>
    
    展开全文
  • 手把手教你在Linux系统进行项目部署

    千次阅读 多人点赞 2022-02-13 05:14:27
    手把手教你在Linux系统进行项目部署 百度网盘:https://pan.baidu.com/s/11wMIXT68GX7banf3Gaflrw(提取码:lzt1) GitHub:https://github.com/Newbie-Rookie/Project-deployment 已经将项目部署需要用到的工具放到...

    手把手教你在Linux系统进行项目部署

    百度网盘:https://pan.baidu.com/s/11wMIXT68GX7banf3Gaflrw (提取码:lzt1)

    GitHub:https://github.com/Newbie-Rookie/Project-deployment

    已经将项目部署需要用到的工具放到网盘中和GitHub上

    在进行项目部署前,你先需要拥有一台服务器、XShell软件、XFtp软件

    (1) 服务器

    上阿里云、腾讯云租一台即可,可以看看官网的最新活动的限时秒杀(腾讯云),每天固定时间有优惠活动。

    我目前用的是腾讯云的云服务器,学生有优惠https://cloud.tencent.com/act/campus(需要学生认证)

    用购买服务器的账号登录服务器控制台(腾讯云控制台),找到购买的云服务器,进入实例

    我们需要记住服务器初始登录名为root,密码我们进行重置密码,更改为我们容易记住的密码,用于登录XShell和XFtp

    我们还要记住公网IP

    (2) XShell和XFtp

    XShell是命令操作服务器上资源的软件,XFtp是可视化操作服务器上资源的软件。

    官网下载XShell 7和XFtp 7即可,但目前不知道为什么进不去官网,我把软件放网盘和github上,需要的自取。

    ① XShell连接云服务器:

    点击该连接进行连接,需要再次输入登录名root和你所重置的密码即可连接成功。

    ② XFtp连接云服务器:

    填写云服务器公网IP、登录名和密码,进行连接即可

    以上将服务器、XShell和XFtp准备好后,我们就需要搭建项目运行环境,分四个步骤。

    1、Linux安装jdk8(或其他版本)

    1.1 下载jdk8.0

    Oracle官网:https://www.oracle.com/java/technologies/downloads/#java8

    需要Oracle账户(百度搜索Oracle账户,嫖一个下载就ok)

    下载:jdk-8u321-linux-x64.tar.gz(已为你们准备了jdk-8u311-linux-x64.tar.gz在网盘和GitHub中)

    1.2 源代码解压

    XFtp进入/usr/local,将jdk-8u311-linux-x64.tar.gz进去

    以下在XShell中进行:

    进入/usr/local,即jdk源代码压缩包位置:

    cd /usr/local
    

    解压jdk源代码压缩包:

    tar -zxvf jdk-8u311-linux-x64.tar.gz
    

    删除jdk源代码压缩包:

    rm -f jdk-8u311-linux-x64.tar.gz
    

    解压成功:

    1.3 配置jdk环境变量

    /etc/profile文件的改变会涉及到系统的环境,也就是有关Linux环境变量的东西

    所以,我们要将jdk配置到/etc/profile,才可以在任何一个目录访问jdk

    vim /etc/profile
    

    按i进入编辑,在profile文件尾部添加如下内容:

    export JAVA_HOME=/usr/local/jdk1.8.0_311  #jdk安装目录
     
    export JRE_HOME=${JAVA_HOME}/jre
     
    export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib:$CLASSPATH
     
    export JAVA_PATH=${JAVA_HOME}/bin:${JRE_HOME}/bin
     
    export PATH=$PATH:${JAVA_PATH}
    

    添加后如下:

    然后按Esc退出编辑,按:wq退出配置文件即可

    通过命令source /etc/profile让profile文件立即生效:

    source /etc/profile
    

    1.4 测试jdk是否安装成功

    javac
    

    java -version
    

    2、Linux安装Tomcat

    2.1 下载安装包

    我部署的项目中使用的是apache-tomcat-9.0.56,所以网盘和GitHub为你们准备了apache-tomcat-9.0.56.tar.gz

    项目中使用的9及9以下版本都可以用,如果使用的是10以上版本,需要自己到官网下载,因为10以上版本的包名已经和9及9以下版本的包名不同,9及9以下版本

    2.2 上传文件/解压

    XFtp进入/usr/local,将apache-tomcat-9.0.56.tar.gz进去

    解压:

    tar -zxvf apache-tomcat-9.0.56.tar.gz
    

    重命名:

    mv apache-tomcat-9.0.56 tomcat
    

    删除压缩包:

    rm -f apache-tomcat-9.0.56.tar.gz
    

    解压成功:

    2.3 启动tomcat

    进入目录tomcat的bin目录:

    cd /usr/local/tomcat/bin/
    

    启动:

    ./startup.sh
    

    查看tomcat启动效果:

    在浏览器输入公网IP + 8080 (8080默认端口)

    这就表示成功在Linux上安装了Tomcat。

    3、Linux安装MySQL

    我的项目使用的是MySQL8.0,所以我安装MySQL8.0

    3.1 安装前清理工作(卸载mysql)

    3.1.1 清理原有的mysql数据库

    使用以下命令查找出安装的mysql软件包和依赖包:

    rpm -qa | grep mysql
    

    可能显示结果如下:

    mysql80-community-release-el7-1.noarch
    mysql-community-server-8.0.11-1.el7.x86_64
    mysql-community-common-8.0.11-1.el7.x86_64
    mysql-community-libs-8.0.11-1.el7.x86_64
    mysql-community-client-8.0.11-1.el7.x86_64
    

    使用以下命令依次删除上面的程序:

    yum remove 名字
    

    删除mysql的配置文件,卸载不会自动删除配置文件,首先使用如下命令查找出所用的配置文件:

    find / -name mysql
    

    可能显示结果如下:

    /etc/selinux/targeted/active/modules/100/mysql
    /usr/share/mysql
    /usr/lib64/mysql
    

    使用以下命令依次删除上面的程序:

    rm -rf 名字
    

    3.1.2 删除MariaDB的文件

    由于MySQL在CentOS 7中收费了,所以已经不支持MySQL了,取而代之在CentOS7内部集成了mariadb,而安装MySQL的话会和MariaDB的文件冲突,所以需要先卸载掉MariaDB.

    使用rpm命令查找出要删除的mariadb文件:

    rpm -qa | grep mariadb
    
    可能的显示结果如下:
    mariadb-libs-5.5.56-2.el7.x86_64  
    
    rpm -e mariadb-libs-5.5.56-2.el7.x86_64  #删除上面的程序
    

    可能出现错误提示如下:

    依赖检测失败:

    libmysqlclient.so.18()(64bit)(已安裝) postfix-2:2.10.1-6.el7.x86_64 需要
    
    libmysqlclient.so.18(libmysqlclient_18)(64bit)(已安裝) postfix-2:2.10.1-6.el7.x86_64 需要
    
    libmysqlclient.so.18(libmysqlclient_18)(64bit)(已安裝) postfix-2:2.10.1-6.el7.x86_64 需要
    

    使用强制删除:

    rpm -e --nodeps mariadb-libs-5.5.56-2.el7.x86_64
    

    至此就将原来有的mysql 和mariadb数据库删除了。

    3.2 安装MySQL

    目前我用的是腾讯云CentOS 7.6 64位,将安装MySQL8.0

    由于从CentOS 7系统开始,MariaDB成为yum源中默认1的数据库安装包,如果我们的Linux操作系统为CentOS 7及以上版本,使用yum命令安装MySQL包时可能将无法启动MySQL,且自己从官网下载Linux系统的MySQL安装包到Linux系统中也一样,也会出现无法启动MySQL服务的问题,我尝试了许多方法,暂时没有找到解决方法。

    直到我发现了一篇博文的方法比较靠谱,而且尝试可行:CentOS 7.6 安装MySQL8.0

    即手动下载mysql的Yum Repository

    3.2.1 下载Yum Repository

    到MySQL官网下载mysql的Yum Repository:MySQL Yum Repository

    根据不同版本的CentOS系统进行下载,点击Download,我的是Linux 7

    使用XShell,连接服务器,用wget下载mysql的rpm包:

    wget https://repo.mysql.com//mysql80-community-release-el7-5.noarch.rpm
    

    如上图,则下载成功。

    3.2.3 安装MySQL(官网最新)

    yum -y install mysql-community-server
    

    最后结果如上图,则安装成功。

    3.2.4 启动mysql服务并查看mysql状态

    启动mysql服务:

    systemctl start mysqld.service
    

    查看mysql状态:

    systemctl status mysqld.service
    

    active表示mysql服务已启动。

    3.2.5 获取mysql的root用户初始密码并修改

    获取root用户初始密码:

    grep "password" /var/log/mysqld.log 
    

    初始密码先记住,最好复制,第一次登陆时要用,如果忘记,可以百度一下怎么无密码登录(在这里我就不讲了)

    因为安装了Yum Repostiory,以后每次yum操作都自动更新,需要把这个卸载掉:

    yum -y remove mysql80-community-release-el7-5.noarch
    

    关闭和重启mysql:

    systemctl stop mysqld.service   #关闭mysql
    service mysqld restart		    #重启mysql
    

    登录root用户并修改密码:

    mysql -uroot -p
    

    回车后将刚刚生成的初始密码复制进去,再回车即可

    修改密码:

    ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';
    

    如果出现以下错误:是密码安全性未达到要求,你可以先设置比较复杂,你容易记的密码先,因为第一次登陆必须先修改密码才能进行其他操作

    ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
    

    登陆之后,可查看MySQL完整的初始密码规则:

    SHOW VARIABLES LIKE 'validate_password%';
    

    可以临时修改validate_password.length和validate_password.policy的值,再设置较为简单的密码:

    set global validate_password_length=4;
    set global validate_password_policy=0;
    

    这样就可以通过上面的修改密码语句将密码修改为较为简单的密码。

    3.2.6 设置远程连接(Navicat)

    use mysql;                   # 使用mysql数据库
    select user,host from user;  # 查看用户及用户登录权限
    

    上面表示的的四个用户均只能本地登录,不允许远程登录,所以我们需要新增用户,并赋予远程连接权限

    (1)新增远程连接用户:

    # CREATE USER '用户名'@'主机' IDENTIFIED BY '密码';
    CREATE USER 'lzt'@'%' IDENTIFIED BY 'lzt';
    

    (2)设置远程连接权限

    grant all privileges on *.* to 'lzt'@'%';
    

    (3)刷新权限

    flush privileges;
    

    很多用户在使用Navicat Premium 12(我就是用这个版本,不用破解,即下即用)连接MySQL数据库时会出现Authentication plugin ‘caching_sha2_password’ cannot be loaded的错误。

    出现这个原因是MySQL8.0之前的版本中加密规则是mysql_native_password,而MySQL8.0之后,加密规则是caching_sha2_password, 解决问题方法有两种,一种是升级Navicat驱动(太麻烦),一种是把mysql用户登录密码加密规则还原成mysql_native_password

    # 修改加密规则 
    ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER;
    
    # 更新用户密码 
    ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '密码';
    ALTER USER 'lzt'@'%' IDENTIFIED WITH mysql_native_password BY '密码';
    

    4、项目部署

    上面我们已将项目部署所需要的东西都准备好,现在我们只需要将我们的项目进行打包,由于我的项目使用了Maven,我将项目打包成war文件,然后将文件使用XFtp软件放到Linux中/usr/local/tomcat/webapps中,即可通过 公网IP/端口(默认8080)/资源名 进行访问:

    到此项目部署完成(不同类型的项目进行部署会有差别,此项目部署较适用于JavaWeb项目、Maven项目)

    展开全文
  • 1、部署Linux环境: 安装Vmware之后,在Windows会产生两个虚拟网卡:vmnet1,vmnet8 关于如何新建虚拟机具体步骤如下: 一、打开Vmware Workstation Pro ,点击新建虚拟机 按照指引一直下一步即可,最后...
  • NIP的业务接口都工作在二层,能够不改变客户现有的网络拓扑结构,直接透明接入客户网络,且配置了缺省的威胁防护策略,接入网络后即可启动防护。 NIP产品默认开启阻截的签名的比率非常高,在不影响用户正常业务的...
  • wildfly 21中应用程序的部署

    万次阅读 2020-12-27 20:31:46
    除了配置文件的修改之外,最重要的就是应用程序的部署了。本文将会讲解如何在wildfly 21中,在Managed Domain和standalone两种模式中如何部署应用程序。
  • Flowable入门系列文章18 - 部署Flowable

    千次阅读 2021-10-07 10:00:06
    Flowable流程引擎允许您部署BPMN 2.0流程定义(用于定义流程的行业XML标准),创建 流程定义的流程实例,运行查询,访问活动或历史流程实例以及相关数据等等。本节将逐步介绍各种概念和API,通过您可以在自己的开发 ...
  • 所以至此,部署已经成功了,我们就可以访问设置的端口进行查看,然后这里基本不会有什么比较大的bug,当下次如果我们需要加上Nginx的时候,那个时候或许就会有问题了,另外下一篇我会从Nginx安装到部署做做记录,...
  • 搭建Jenkins实现自动化部署环境

    千次阅读 2022-02-26 00:49:34
    大家好,我是阿飞云怕什么真理无穷,进一步有近一步的欢喜​本文是团队内小兄弟的学习笔记整理而来。看完本文大体了解为什么要使用Jenkins,部署Jenkins依赖的环境,以及如何用Jenki...
  • 项目自动化部署与手动部署

    千次阅读 2022-03-01 16:53:11
    DevOps 传统的开发模式: ...持续部署: 阿里云服务器的配置 这里选择的是 CentOS 8.2。 重置系统后在远程连接中设置 root 密码。 安全 - 防火墙:配置暴露的端口号限制的 ip 地址来源。0.0.0.0 表示任何
  • 云端部署 vs 本地化部署

    千次阅读 2021-12-04 17:57:29
    到底把应用部署在本地还是部署在公有云上?应用部署在本地还是部署在公有云上,到底有什么区别?
  • 如何在Kubernetes上部署MySQL数据库

    万次阅读 多人点赞 2020-08-16 10:09:36
    Operators将数据库部署到Kubernetes 在Kubernetes上部署数据库是否可行? 1.完全托管的数据库 2.在VM或本地自行部署 3.在Kubernetes上运行 在Kubernetes上部署有状态应用程序: 步骤1:部署MySQL服务 步骤2:...
  • 项目部署的完整流程

    万次阅读 多人点赞 2020-07-09 12:26:04
    作为一个合格的程序猿,仅仅会打代码还是远远不够的,项目的部署也是我们必须要会的操作,也就是所谓的上线,将我们本地开发好的项目部署到远程服务器上,使得任何机器都可以通过我们远程服务器的公网ip或者域名加上...
  • 使用docker-compose 进行项目部署

    千次阅读 2019-03-04 15:37:32
    通过学习了和实践,在本地完成了该项目,想在服务器上面进行部署。 二,云服务器申请和配置 2.1 申请服务器 首先,申请云服务器。google,AWS,阿里云,腾讯云等申请都比较麻烦,最后在华为云上面申请到了免费7天的...
  • 安装 Rancher2.x 并部署工作负载

    千次阅读 2019-02-28 10:37:08
    rancher是一个开源的企业级全栈化容器部署及管理平台,官方是这么描述的: Rancher是业界唯一完全开源的企业级容器管理平台,为企业用户提供在生产环境中落地使用容器所需的一切功能与组件。Rancher2.0基于...
  • 我们从传统的物理服务器时代,过度到了容器部署时代; 在传统物理服务器时代,各个组件都在物理机上运行,很难为物理机中的应用程序定义资源边界,从而导致资源分配问题。 比如工作中我们经常会遇到某一个应用程序...
  • 不涉及相关原理的讲解,只是记录下了本人在搭建项目时的步骤以及遇到的一些问题与解决方案,前前后后一共看了几百个资料,最终使项目在服务器部署成功,其中涉及到了部署之前需要做的一些准备工作,以及uwsgi的配置...
  • Django 项目部署

    千次阅读 2022-04-03 23:29:40
    Django 项目部署 1. 概述 将开发完成的 Django 项目部署到指定的服务器上,而服务器...Nginx:反向代理服务器,用于实现用户请求的转发,转发给 uWSGI,主要实现 3 个功能: 反向代理 动静分离 负载均衡 uWSGI:py
  • 软件部署及测试

    千次阅读 2021-11-09 10:53:23
    针对实际环境进行系统的安装部署。 11.1.1单机部署架构 互联网建设初期,用户访问量有限,数据量不大,多数系统采用单台服务器部署应用服务,系统服务、文件、数据库等所有系统资源部署在一台服务器上. ...
  • 没办法,还是得搭建一个全栈的项目,我找到了类似halo这种的,面对复杂的部署上线,明明是按照官方的文章去部署的,却总是各种环境异常,不知名的BUG,我又一次放弃了。 万念俱灰时,AWS Amplify救世主一般出现在我...
  • Jenkins环境部署

    千次阅读 多人点赞 2021-10-02 23:28:04
    CD 软件,用于自动化各种任务,包括构建、测试和部署软件。Jenkins 支持各种运行方式,可通过系统包、Docker 或者通过一个独立的 Java 程序。 Jenkins是一个广泛用于持续构建的可视化Web工具,持续构建就是将项目...
  • K8S 部署电商项目

    万次阅读 2021-11-20 08:53:52
    K8S 部署电商项目
  • 怎么在腾讯云服务器上部署Web项目 第二章 怎么在服务器上部署web项目; 文章目录怎么在腾讯云服务器上部署Web项目怎么才可以将web应用让其他人访问到一、所需要的环境二、使用步骤1.引入库2.读入数据总结 怎么...
  • 部署模式是指设备以什么样的工作方式部署到客户网络中去,不同 的部署模式客户原有网络的影响各有不同;设备在不同模式下支持的 功能也各不一样,设备以何种方式部署需要综合用户具体的网络环境和 功能需求而定。 ...
  • EOS、BPS怎样进行应用的部署

    千次阅读 2017-04-25 11:17:49
    用户在使用普元的EOS、BPS产品开发完项目之后,经过测试后,就可以正式部署上线了,本文提供多种部署方式的介绍
  • 编者按:本文从企业数据安全性、部署问题困难等情况出发,系统分析了SaaS部署和本地部署优缺点,为大家选出最适合企业发展的部署方式。 (1)企业面临部署选择困境 (2)SaaS部署和本地部署比较 (3)私有化部署解决...
  • MDT批量部署服务搭建

    千次阅读 2021-11-23 09:59:12
    除了减少部署时间和标准化桌面和服务器映像以外,MDT 还可以使你更轻松地管理安全配置和正在进行的配置。 MDT 基于Windows Assessment and Deployment Kit (Windows ADK) 中的核心部署工具构建,其附加指南和功能...
  • 软件测试的环境部署怎么做?

    千次阅读 2022-02-15 13:54:02
    在实际工作中,测试人员可能也会面临自己部署测试环境的场景 若是面试官问环境搭建问题,千万不要只回答是运维人员部署,这显然不是面试官所想听的答案。面试官考察的主要是两个方面: 1、考量的是面试者是否熟悉...
  • 软件工程部署图_部署图| 软件工程

    千次阅读 2020-06-22 16:31:06
    软件工程部署图 什么是部署图? (What is Deployment Diagram?) A deployment diagram is a UML diagram type of the system that represents the execution architecture of the components of a system of the ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 684,595
精华内容 273,838
热门标签
关键字:

对工作进行了部署