精华内容
下载资源
问答
  • 项目部署的完整流程

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

    作为一个合格的程序猿,仅仅会打代码还是远远不够的,项目的部署也是我们必须要会的操作,也就是所谓的上线,将我们本地开发好的项目部署到远程服务器上,使得任何机器都可以通过我们远程服务器的公网ip或者域名加上端口号访问到我们的项目。这篇博客详细的列出每个步骤,并且也列举了在部署过程中常见的问题,看完这篇文章,你一定会有所收获!

    首先,我先给大家捋一下项目部署的流程:

    1. 环境搭建: 我们以当下最流行的springboot项目为例,最终打成的是一个jar包,jar包要在远程服务器上跑起来,环境搭建是第一步,也就是安装jdk环境,至于tomcat的话,springboot自带tomcat,所以不安装也可以;

    2. 数据库的部署: 在本地开发的时候,我们代码里面的数据库连接主机名写的是localhost,之所以这样写了能访问到,那是因为我们的项目和数据库都在我们的本地机器上,所以可以访问到;而如果项目部署到远程服务器上,要访问到数据库,应该先部署数据库,至于数据库连接还能不能写localhost,要分两种情况,如果我们的数据库和项目都部署到了同一台远程服务器上,那可以;如果部署在不同机器上,那显然不行,这种情况的话数据库连接的主机名就需要修改成数据库所部署的那台机器的公网ip或者域名。

    3. 上面两步操作完成之后,就可以把本地打好的jar包上传到远程服务器上,远程服务器进入jar包所在目录,执行 java -jar jar包名 即可启动项目,至此,项目部署完成!

    对于以上的步骤,我再详细的列出:

    【一】数据库部署到远程服务器

    方法一:Xshell连接远程服务器进行命令行操作

    1. 将本地的数据库导出成.sql文件
    2. 在远程服务器中创建一个文件夹,专门存放.sql文件的
    3. 执行rz命令(前提是安装了lrzsz),将本地的.sql文件上传到远程服务器上该文件夹;也可以使用xftp实现文件传输
    4. 登录mysql:mysql -u root -p(回车后输入密码)
    5. 执行.sql文件之前需要先创建对应的数据库
    CREATE DATABASE IF NOT EXISTS 数据库名 DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
    
    1. 选中刚刚创建的数据库之后再执行.sql文件:use 数据库名
    2. 执行.sql文件:source ***.sql

    (注意如果我们是在.sql文件所在的文件夹中执行该命令就不用加路径,否则需要加上.sql文件所在路径)

    方法二:本地Navicat连接远程服务器的数据库进行可视化操作

    关于本地Navicat连接远程数据库的操作可参考我另一篇博客: https://blog.csdn.net/can_chen/article/details/107184239

    同样是先将本地的数据库导出成.sql文件,我们可以看下导出来的.sql文件包含了什么内容:
    在这里插入图片描述
    这里只截图了部分,下面开始的都是表结构和表数据,可以看到导出来的.sql文件并没有为我们创建数据库,所以在导入.sql文件之前需要先手动创建数据库,并且在我们导出来的.sql文件中添加一行选中我们的数据库 use 数据库名
    在这里插入图片描述
    以上两步操作没完成的话在导入.sql文件的时候都会报错,显示没有选中数据库,如下图:
    在这里插入图片描述
    操作完成之后,便可以将.sql文件导入远程mysql数据库了。

    【二】项目部署到远程服务器

    1. 当我们已经将数据库部署到远程服务器上,如果数据库和项目部署不在同一台远程服务器上,那么在将项目打成jar包之前需要先修改数据库连接的配置信息,将主机名修改成数据库所部署的那台机器的公网ip或者域名,如果数据库和项目部署在同一台远程服务器上,那么主机名可以继续使用localhost;

    2. Xshell连接阿里云远程服务器,并使用xftp将本地的jar包传输到远程服务器上,如果安装了lrzsz可以直接使用rz命令上传

    3. 放行端口号,部署项目成功之后,要能够访问到项目,还应该在阿里云控制台开放对应的端口(进入阿里云官网)
      在这里插入图片描述
      除此之外,还应该在宝塔面板中的防火墙放行该端口
      在这里插入图片描述
      关于宝塔面板: 其实可以简单的理解成就是用来管理我们服务器的,可视化操作简单,管理方便。我们要在服务器中安装软件,部署环境,除了使用linux命令,也可以使用宝塔面板进行可视化操作,去到宝塔面板里的软件商店即可下载,另外,对于防火墙的端口号放行,通过宝塔面板设置也非常的简单快捷。

      关于服务器的购买教程和宝塔部署的相关操作可以参考视频:https://www.bilibili.com/video/BV177411K7bH

    【三】启动项目

    1. 在Xshell中操作,先进入到阿里云远程服务器中jar包所在的文件夹目录
    2. 使用nohup java -jar jar包名 & 命令运行jar包

    (nohup加上&表示项目可以在后台永久的执行,即使关闭Xshell终端也不会停止运行;如果后面想要停止该项目的运行,可以直接结束该项目端口占用的进程)

    以上命令执行之后会提示:nohup: ignoring input and appending output to ‘nohup.out’,这是正常提示,并不是错误,直接打回车就可以。该提示产生的原因是nohup默认会把标准输出重定向到默认文件nohup.out中,也可以自定义该输出文件,例如:nohup java -jar jar包名 >temp.txt & 但是标准错误输出没有重定向到某个文件,所以会有该提示。
    在这里插入图片描述
    如果想要不输出该提示,省去打回车键的操作,那么可以使用以下命令:nohup java -jar jar包名 2>&1 & 解释:2>&1 是将错误提示信息的输出重定向到标准输出,而这里的标准输出已经重定向到默认文件nohup.out中,也就是说标准的错误提示也直接输出到nohup.out中,所以就没有提示了,也就不用再打回车了。

    【四】需要注意的问题

    1. 如果已经在阿里云控制台开放了项目对应的端口号之后,通过公网ip和端口号还是无法访问项目的话,最大的一个可能就是防火墙的原因,防火墙并没有开放对应的端口号,这时候就可以使用宝塔面板去防火墙设置里放行对应的端口号;
    2. 关于项目运行的端口号,建议在打jar包之前改成不常见的那些端口号,避免出现端口号冲突,例如使用8080、3306、80这些端口号都容易出现端口号冲突,尽量不用。
    3. Linux下解决端口号冲突的方法:
    # 查看所有端口使用情况
    lsof -i
    # 查看具体某个端口使用情况
    lsof -i:端口号
    
    # COMMAND指的是进程名,PID指的是进程号/进程ID
    
    # 通过进程名结束占用端口的进程
    killall 进程名
    # 通过进程ID结束占用端口的进程
    kill 进程ID
    # 通过进程ID强制结束占用端口的进程
    kill -9 进程ID
    

    PS:以上就是整个项目部署的完整流程,如果看了之后还有问题的小伙伴可以私信我,没准能帮得上忙哦!😊

    展开全文
  • 项目部署其实非常的简单,尤其是 java 项目。最近微信群里有网友,初学者还未毕业,问我 Java 项目是如果部署的? 我让他百度搜索,谁知他搜索了,半天发给我了 4 个链接! ... ...htt...

    项目部署其实非常的简单,尤其是 java 项目。最近微信群里有网友,初学者还未毕业,问我 Java 项目是如果部署的?

    我让他百度搜索,谁知他搜索了,半天发给我了 4 个链接!

    https://download.csdn.net/download/jjn311402/9722324

    https://download.csdn.net/download/wazheng/4914235

    https://download.csdn.net/download/hanhan313/4476931

    https://download.csdn.net/download/xie709071511/4278458

    我打开一看,其中一个还需要 48 积分。

    Java项目部署安装教程

    其他的,都是 3 积分,但是现在的积分都非常的贵。所以,我就帮忙开了 VIP,把 48 积分的这个文件给他下载下来了。

    另外 3 个,待我这篇文章,写完后,给他看看,如果他还是需要下载再另说!

    准备工作

    a.下载tomcat linux的包,地址:http://tomcat.apache.org/download-80.cgi,我们下载的版本是8.0,下载方式如图:

    Tomcat 下载

    b.因为tomcat的安装依赖于Java jdk,所以我们需要在判断linux系统下面是否安装jdk
        b.1 使用(Xshell)连接到Linux系统下面
        b.2 输入命令:java -version,如果显示jdk版本号,则证明已经安装,如果不显示,则证明没有安装,如果没有安装,请参考下面地址进行安装:http://www.cnblogs.com/hanyinglong/p/5025635.html ,如图所示:

    查看 java 版本

    c.操作需要的软件以及系统如下:虚拟机(Vmware),虚拟机中安装的Centos系统,Xshell,Xftp,Tomcat8.0,MyEclipse开发的WebDemo,apache-tomcat-8.0.29.tar.gz。

    在Linux下安装Tomcat8.0

    a.通过上面准备工作之后,我们现在已经拥有了可以安装和发布的环境,如果没有,请自行查询安装。

      b.然后在Xshell中使用命令跳转到local下面创建者自己的文件夹:kencery
        b.1  cd usr/local/   mkdir kencery   cd kencery/
      c.然后使用Xftp将tomcat复制到kencery文件夹下面,如图所示:

    tomcat 安装

    d.将上传的Tomcat8.0解压,解压之后重命名为tomcat,如图所示:
        d.1 tar -zxv -f apache-tomcat-8.0.29.tar.gz 
        d.2 mv apache-tomcat-8.0.29 tomcat
        d.3 cd tomcat

    tomcat 目录

    e.解析完成后即可以启动Tomcat,检查是否安装成功,命令如下,如图所示:
        /usr/local/kencery/tomcat/bin/startup.sh

    tomcat 环境变量

     出现如图上所示的信息,则表示启动成功。这时候我们可以在windows下面使用http://ip:8080访问,如能够显示Tomcat的主页,则表示不需要进行任何操作了,如不能显示,则需要在Linux中开放防火墙的8080端口。
      f.在Linux下面的防火墙里面开放8080端口 会用命令如下:
        f.1  vim /etc/sysconfig/iptables
        f.2  打开之后按键盘(i)进入编辑模式,写入开发8080端口,如图所示:

    防火墙例外tomcat 端口

    f.3  写完之后我们按键盘(ESC)按钮退出,然后按(:wq)保存并且关闭Vim。
      g.之后重启防火墙,命令如下:
        service iptables restart 
      h.然后再次在浏览器中输入http://ip:8080,如果看到tomcat系统界面,说明安装成功,你可以进行下一步了。
      i.停止Tomcat的命令是:/usr/local/tomcat/bin/shutdown.sh

    Linux中设置tomcat的服务器启动和关闭

    a.如2所示,我们已经完成了对tomcat的安装,接下来就可以部署项目,但是这里存在一个问题,那就是Linux的系统和重启我们每次都需要接路径并且执行命令,那么我们可以设置成service的形式来实现这个功能。

      b.执行命令:vim /etc/rc.d/init.d/tomcat,创建脚本文件,在文件中写入如下代码,保存并且退出

    c.给文件添加权限,使得脚本文件可以执行,命令为  chmod 755 /etc/rc.d/init.d/tomcat
      d.将其添加到服务中,命令为 chkconfig --add /etc/rc.d/init.d/tomcat
      e.然后将下面的配置文件加到tomcat中的catalina.sh文件中的最后面,命令为:vim /usr/local/kencery/tomcat/bin/catalina.sh
        export JAVA_HOME=/usr/local/kencery/javajdk   #javajdk的安装路径,使用echo $JAVA_HOME命令可以读取
        export CATALINA_HOME=/usr/local/kencery/tomcat
        export CATALINA_BASE=/usr/local/kencery/tomcat
        export CATALINA_TMPDIR=/usr/local/kencery/tomcat/temp
      f.以上所有工作顺利进行并且没有报错,则配置完成,你可以输入命令service tomcat start和service tomcat stop进行验证(请自行实验)。

    Linux中设置tomcat的开机启动
      a. 通过第三步的设置我们可以很方便的设置tomcat的启动和关闭,但是这里存在一个问题,那就是当服务器关机重启的时候,服务不能随计算机的启动而自己启动,那么我们可以将tomcat服务设置为开机启动。
      b.打开linux设置开启启动的文件,将下面的配置文件写入此文件的最后,命令为:vim /etc/rc.d/rc.local
        export JAVA_HOME=/usr/local/kencery/javajdk
        export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
        export PATH=$PATH:$JAVA_HOME/bin
        export CATALINA_HOME=/usr/local/kencery/tomcat/
        #tomcat自启动
        /usr/local/kencery/tomcat/bin/startup.
      c.tomcat依赖于Java的jdk,所以设置的时候讲jdk也同步导入。
      d.完成上面的步骤之后我们就可以将centos关机重启检查一番。
    回到顶部
    5.给tomcat设置用户名和密码登录
      a.当tomcat安装完成之后,访问http://ip:8080即可以看到tomcat发布的网站,这时候需要管理我们发布网站,就需要登录tomcat,那么在centos中如何设置登录名和密码。
      b.在tomcat安装包下面的conf文件下含有一个tomcat-user.xml文件,修改此文件即可,命令为:vim tomcat-users.xml
      c.在打开的xml配置文件最后面写入下面这段配置文件之后保存并且退出即可。
        <role rolename="admin-gui"/>   
        <role rolename="manager-gui"/>
        <user username="tomcat" password="tomcat" roles="manager-gui,admin-gui"/>

      d.在这里会出现一个问题,因为tomcat-users.xml里面有注释的用户设置的信息,取消注释,用文件提供的用户名和密码去访问的时候,会出现403错误,什么原因呢?这是因为我们没有指定用户所拥有的权限的原因,如我们现在想访问tomcat中图形化管理应用的功能,也就是Manager App,就需要指定manager-gui的权限,如果想访问host manager就必须指定admin-gui权限,故而如c所示的配置。

      e.配置完用户名密码之后,需要重新启动tomcat,命令如下:
        service tomcat stop
                 service tomcat start
      f. 重启服务之后,检测是否登录成功,如果登录进入系统,则说明登录成功。
    回到顶部
    6.使用MyEclipse打包Java Web项目
      a.以上所有工作完成之后,我们需要一个简单的项目来打包发布,那么在MyEclipse中如何打包项目呢

      b.随便创建一个JavaWeb项目,如图所示:

    部署 java 项目

     c.在项目上单击右键选择Export-选择JavaEE文件夹-选择WAR file(MyEclipse),单击Next>如图所示,选择存放打包程序的地址,单击Finish完成,即实现了打包,在完成之后可以去你打包的地方看一下是否打包成功。

    Eclipse 打包项目

     d.MyEclipse10.7打包程序的时候当选择WAR File(MyEclipse),单击Next>的时候IDE奔溃的解决办法。
        d.1 此错误可能是在破解的时候没有破解的很干净,所以需要执行下面步骤
        d.2 下载文件com.genuitec.eclipse.export.wizard_9.0.0.me201211011550.jar,下载地址为:http://files.cnblogs.com/files/hanyinglong/java.zip
        d.3 找到MyEclipse安装环境的地址,我的安装坏境是:D:\Program Files\MyEclipse\Common\plugins,将下载下来的文件解析之后替换到plugins中的同名文件(替换后,最好将jar文件改成.txt文件结尾,然后重启myeclipse10,然后关闭,再将jar改回.jar为扩展名的状态,重启后即可)。
        d.4 已测试,没任何问题,完美实现,如果大家遇到,则按照这种思路解决即可。
    回到顶部
    7.将Java Web项目发布到Tomcat8.0下面并且访问展示
      a.以上所有工作都完成之后,我们就可以将打包的JavaWeb程序发布到tomcat下即可。

      b.tomcat默认的发布web项目的目录是:webapps
      c.将导出的war包直接使用Xftp上传到webapps根目录下,随着tomcat的启动,war包可以自动被解析。
      d.然后调用路径查询是否安装成功,如图所示:则表示安装成功

    访问 tomcat 项目

    至此,所有的配置全部完成,在配置的实现中,我也遇到了很多问题,在文章中都已经写出来了,如果大家遇到可参考解决之。

    下面这个是我的个人公众号,欢迎关注!

    640

     

     

    展开全文
  • 项目部署到服务器

    千次阅读 2019-06-09 16:37:33
    将一个项目部署到浏览器上 举例:创建一个index目录,里面放上如下文件 图片可以为任意图片,jquery为引入的jQuery文件,可以在网上找一下,index文件内容如下: 这里切记要引入相关的jQuery文件 效果如下所示: ...

    将一个项目部署到服务器上

    举例:创建一个index目录,里面放上如下文件
    在这里插入图片描述
    图片可以为任意图片,jquery为引入的jQuery文件,可以在网上找一下,index文件内容如下:
    在这里插入图片描述
    这里切记要引入相关的jQuery文件
    效果如下所示:在这里插入图片描述

    截止到这里模拟的是你的项目目录,下面开始将项目部署到服务器上

    这里新建几个js文件,内容我下面会进行说明
    在这里插入图片描述
    注意:这里的js文件是与index目录平级,而不是在index目录之下!
    server.js代码

    const http = require("http");
    const fs = require("fs");
    const path = require("path");
    const url = require("url");
    const mine = require("./mine").type;//这个模块是导出自定义模块的一个方法,下面会有相应说明
    http.createServer((req, res) => {
    //如果不是图标文件则进行请求
        if (req.url != "/favicon.ico") {
          let pathname = url.parse(req.url).pathname; //index.html
          //下面是为了拼接index/index.html
          let realpath = path.join("index", pathname);
          //console.log(realpath);//index\index.html
          let ext = path.extname(realpath);
          //console.log(ext);//.html
          ext = ext ? ext.slice(1) : "unhknow";
          //   console.log(ext);//html
          fs.exists(realpath, data => {//判断文件是否存在
            if (!data) {
              res.writeHead(404, { "content-type": "text/plain" });
              res.write("路径不存在");
            } else {
              fs.readFile(realpath, (err, result) => {
                let content = mine[ext] || "text/plain";
                res.writeHead(200, { "content-type": content });
                res.write(result);
                res.end();
              });
            }
          });
        }
      }).listen(3000);//监听3000端口
    

    mine.js文件下的内容:

    exports.type = {
      css: "text/css",
      gif: "image/gif",
      html: "text/html",
      ico: "image/x-icon",
      jpeg: "image/jpeg",
      jpg: "image/jpeg",
      js: "text/javascript",
      json: "application/json",
      pdf: "application/pdf",
      png: "image/png",
      svg: "image/svg+xml",
      swf: "application/x-shockwave-flash",
      tiff: "image/tiff",
      txt: "text/plain",
      wav: "audio/x-wav",
      wma: "audio/x-ms-wma",
      wmv: "video/x-ms-wmv",
      xml: "text/xml"
    };
    
    

    在终端运行node server
    在服务器输入localhost:3000/index.html
    在这里插入图片描述
    出现上述画面就说明你运行成功了!

    展开全文
  • springboot部署到阿里云linux服务器

    SpringBoot项目部署到阿里云linux服务器全流程

    前言:很久没有更新博客了。因为最近公司需要部署一个SpringBoot项目到云服务器上,来来回回折腾了好久,走了很多弯路,这过程中CSDN的博客帮了我很多,所以我自己也写一篇博客上来吧,希望能帮到各位。

    首先用一张图来说明一下整个的部署流程

    在这里插入图片描述
    然后开始进入正文

    1.申请阿里云服务器

    1.1 前往阿里云官网:https://www.aliyun.com/
    1.2 注册一个账号,登陆账号
    1.3 按如下步骤申请一个云服务器:
    在这里插入图片描述
    在这里插入图片描述
    1.4按照自己的需要,选择合适的服务器配置,如果对配置不懂的(比如我),那你可以选择“一键购买”,买个差不多的服务器。注册过程中会让你设置账号密码什么的,还有一个远程登陆密码,拿个笔记记下来,丢了就GG了。(如果是土豪,你可以往高了配,但如果是学生的话,可以像我一样注册个学生认证,便宜很多)
    注:笔记需要记录的有 远程连接密码(6位数字)、公网IP、服务器账号、服务器密码(有特殊符号,数字,字母的那个)
    在这里插入图片描述
    1.5 购买完成后,回到首页,点击 “控制台”>>“云服务器ECS”>>“实例”
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    1.6 在实例列表中就可以看到我们购买的云服务器。点进去,我们需要对服务器的安全组进行设置
    在这里插入图片描述
    1.7 安全组中除了自带的规则,我们还需要添加几个新的安全组(这些安全组的具体作用可以看其他博主的文章)
    在这里插入图片描述
    在这里插入图片描述
    1.8 回到“实例列表”,点击 实例ID 进入服务器,点击 ”远程连接“,输入6位连接密码,就可以看到我们申请的这个服务器了。
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    1.9 然后我们按任意键登陆登录服务器,输入用户账号密码(密码是很复杂,要求有特殊符号!@#的那个,密码输入过程中是不可见的,输完直接回车就行)在这里插入图片描述
    1.10 至此整个阿里云服务器的申请就算完成了。

    2.Xshell 的安装使用

    2.1 简单测试一下,你会发现网页登陆云服务器的方式有一个弊端,那就是只要一小段时间不操作,服务器就会进入休眠,又得输入连接密码才能激活,很烦。所以我们采用别的方式登录这个云服务器。

    2.2 Xshell是一个终端模拟软件,换言之,我们只要在本地Windows系统下安装这个软件,打开输入账号密码,就能登录远程的云服务器

    2.3 Xshell下载官网:https://xshell.en.softonic.com/(如果官网下载太慢,可以百度一下Xshell,很多资源,下载最新版的就行,我用的是Xshell 5)

    2.4 下载完了选择安装路径开始安装,这个软件很小,安装也简单,安装过程中不会出现问题(新手的我也一路畅通)

    2.5 打开Xshell们可以看到如下界面:
    在这里插入图片描述
    2.6 新建一个会话,拿出之前的笔记,将公网IP输入到主机栏,端口号设置为22(服务器的监听端口,ftp默认为21,sftp为22,如果你设置22连不进去,那就换21试一下)

    2.7 点击 ”确定”>>“连接”,继续拿出笔记,把服务器账号填进“登录的用户名”,把服务器密码填进“密码”,如下图。
    在这里插入图片描述

    2.8 登录成功,进入服务器。以后我们就可以通过这个界面对云服务器进行远程操控,在上面进行jdk,mysql安装,springboot部署等操作了。
    在这里插入图片描述

    3.云服务器上jdk的安装

    3.1 先用Xshell 连接到你的云服务器(或者直接在阿里云官网中远程连接也行)

    3.2 在你的本地Windows系统中下载 Linux系统下的jdk,jdk下载官网:https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html。下载你需要的jdk版本,我用的是 jdk-8u221-linux-x64.tar.gz 。
    在这里插入图片描述
    3.3 下载完以后是这样的
    在这里插入图片描述
    3.4 然后我们要把这个文件传到云服务器上去。听起来很高端,其实很简单的。在Xshell上执行rz命令就可以实现。首先我们要在云服务器上安装这个命令。在Xshell中执行

    yum install lrzsz
    

    在这里插入图片描述
    3.5 我们要把上传的文件放到哪个目录,就要先cd进入那个目录。我们申请的服务器的初始目录结构如下:(cd命令:进入目录)
    在这里插入图片描述
    现在我们要把这个jdk安装包放到**/usr/java**目录下(如果没有该目录则需要创建目录。最好跟着我的安装路径来,不然后面的环境设置会比较麻烦),所以我们一步步cd到这个目录下:
    在这里插入图片描述
    然后 rz 把安装包上传上去(rz命令:上传文件)

    rz
    

    执行rz命令会弹出一个文件选择框,选择安装包上传

    在这里插入图片描述
    上传中,等待上传完毕
    在这里插入图片描述
    传输完毕,点击“关闭”
    在这里插入图片描述
    3.6 使用ls命令查看目录。可以看到,我们刚才上传的安装包已经存在于目录中了(ls命令:查看当前目录下的文件)

    ls
    

    在这里插入图片描述
    3.7 接下来解压安装包就算安装成功了!使用tar命令解压压缩包,如果你下载的版本跟我不一样,记得把包名改成你自己的版本 。(tar命令:解压)

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

    3.8 然后就跟你在windows系统下安装完jdk一样,你还要设置系统环境变量。linux系统中的设置方法为:找到文件 /etc/profile ,向其中添加如下代码:

    export JAVA_HOME=/usr/java/jdk1.8.0_221
    export CLASSPATH=$JAVA_HOME/lib/
    export PATH=$PATH:$JAVA_HOME/bin
    export PATH JAVA_HOME CLASSPATH
    

    先cd进目录 /etc ,再使用 vim命令编辑文件profile(vim命令:编写修改文件内容)
    在这里插入图片描述
    进来以后是下面这个界面,按 e 键入编辑。
    在这里插入图片描述
    3.9 在文件的最后把上面的代码打进去,如果你的jdk版本跟我不一样,记得把 export JAVA_HOME=/usr/java/jdk1.8.0_221 这一行改成你自己的版本。然后按ESC键退出编辑,输入 :wq + 回车键保存退出文件。
    在这里插入图片描述
    3.10 查看文件是否保存成功。

    cat profile
    

    在这里插入图片描述
    3.11 立即执行profile文件,使之生效,使用source命令(source命令:依次执行文件所有语句)

    source /etc/profile
    

    在这里插入图片描述
    3.12 到这一步,jdk的安装就全部完成了。最后,我们再使用java命令验证一下,如果可以看到我们的版本信息就可以了。

    java -version
    

    在这里插入图片描述

    4.linux云服务器安装mysql

    4.1 启动Xshell,连接阿里云服务器

    4.2 检查系统有没有自带mysql

    rpm -qa | grep mysql
    

    4.3 一般情况是没有的,但如果有,就卸载

    rpm -e --nodeps mysql
    

    4.4 使用下面的语句安装mysql

    yum install -y mysql mysql-server mysql-devel
    

    4.5 我的linux系统版本是centOS 7,这个版本的mysql数据库从默认程序列表中移除了。启动mysql的方法如下,首先安装 mariadb

    yum install mariadb-server mariadb
    

    4.6 启动mariadb

    systemctl start mariadb 
    

    4.7 设置开机启动

    systemctl enable mariadb 
    

    4.8 查看mysql的安装,进入/usr/bin,然后查看

    cd /usr/bin
    mysqladmin --version
    

    在这里插入图片描述
    4.9 mysql安装完毕,启动成功,接下来我们要尝试登录了。mysql自带了一个超级用户root一个空名的用户,。
    因为空名字用户的存在,使得默认情况下mysql不需要账号和密码就可以登录。登录的方式为:

    mysql
    

    在这里插入图片描述
    这样就登录成功了,可以直接在上面编写sql语句,不用的时候输入 quit 退出返回到控制台

    4.10但出于安全的考虑,我们需要删掉这个空名字用户

    use mysql;
    

    删除用户

    delete from user where user="";
    

    更新操作(必须执行)

    flush privileges;
    

    然后退出

    quit
    

    再尝试使用mysql命令 进入数据库,报错

    mysql
    

    在这里插入图片描述
    4.11 我们删掉了免密登录,那我们怎么进入数据库呢?别担心,我们不是还有一个root用户吗,但是我们没有它的密码怎么办。我们就当自己是忘记了root用户的密码。然后需要用到一段文字:skip-grant-tables,它的翻译是 跳过授权表。顾名思义:,它的作用是将mysql设置为只需账号即可登录。这个操作流程,以后当我们忘记了mysql的用户密码时也可以这么做,具体如下:

    查看mysql当前状态

     systemctl status mysqld
    

    在这里插入图片描述
    显示正在运行中,那么要把它停掉(这一步不能省的)

    service mysqld stop
    

    在这里插入图片描述
    进入编辑 /etc/my.cnf文件,在[mysqld]字段下添加跳过授权表字段

    vim /etc/my.cnf
    
    skip-grant-tables
    

    在这里插入图片描述
    然后ESC +:wq +回车 保存退出。启动mysql,并且免密进入

    systemctl start mysqld  //或者用重启语句:service mysqld restart 
    mysql -u root
    

    在这里插入图片描述
    登录成功后先执行一个sql语句

    show variables like 'vali%';
    

    在这里插入图片描述
    如果你的查询结构跟我一样是空的,那说明系统对你的用户密码设置不做要求。如果一大堆的文字,那就是你的用户密码的设置规范,需要最小长度为8,包含字母,数字,特殊符号这些要求。根据你的查询结果开始设置密码(如果不是mysql5.7,这里的语句会不一样,百度对应版本修改语句即可),我这里将密码改为 123456(如果你是有设置规范的,按规范设置一个符合要求的)

    update mysql.user set authentication_string=password('123456') where user='root';
    

    在这里插入图片描述
    修改完成,一行被执行,还有一条警告(只要不是错误就行,警告不管,哈哈哈)。quit 退出mysql,去 /etc/my.cnf 中,我们不需要免密登录了,把 skip-grant-tables 删掉,保存退出。

    quit
    
    vim /etc/my.cnf
    

    在这里插入图片描述
    在这里插入图片描述
    4.12 重启mysql,重启mysql,重启mysql

    service mysqld restart 
    

    4.13 然后我们尝试免密进入,发现进不去了,系统报错
    在这里插入图片描述
    4.14 使用我们刚才重新设置的密码进入,登陆成功!(为了安全,密码在输入过程中是不可见的,输完按回车确认就行)

    mysql -u root -p
    

    在这里插入图片描述
    4.15 至此,mysql数据库也安装完毕了。

    5.部署SpringBoot项目

    5.1 linux云服务器上的环境我们都已经配置好了,但好像差了一个tomcat?因为springboot内置了tomcat,所以后面我们把它打包成jar包就可以免去tomcat的配置了(如果是打包成war包,那还是要配置tomcat的)。
    5.2 回到我们本地windows Springboot项目,下面我们对我们的项目做一些设置
    打开pom.xml,添加如下语句,将项目的打包形式设置好

    <!-- 打包成jar包 -->
    	<packaging>jar</packaging>
    

    在这里插入图片描述
    打开application.properties,设置项目运行端口(我用的是8800,默认是8080,如果你用的是别的端口,要在这篇文章的1.7章节中把你的端口加入到安全组中去)在这里插入图片描述
    打开application.yml,设置端口,连接数据库
    在这里插入图片描述
    5.3 项目打包成jar包,右键项目 >> Run As >> Maven install
    在这里插入图片描述
    项目打包中

    5.4 项目打包成功,可以在左边target文件夹中看到项目的jar包
    在这里插入图片描述
    5.5 把这个jar复制到桌面,打开Xshell,使用rz指令把它上传到linux云服务器的根目录
    在这里插入图片描述
    5.6 耐心等待上传成功,使用ls指令可以看到我们上传成功的jar包
    在这里插入图片描述
    5.7 我们要想在linux系统上运行这个项目,就要保证他运行所用的端口没有被占用,不然运行就会报错

    查看端口使用情况

    netstat -anp | grep 8800   //netstat -anp | grep <端口号>
    

    在这里插入图片描述
    可以看到这个端口被占用了(没被占用的时候不显示任何东西),查看占用端口的PID

    sudo lsof -i:8800  //sudo lsof -i:<端口号>
    

    在这里插入图片描述
    我们要把它kill掉,留出空位来运行我们的项目。kill后再次查看端口,可以看到这个端口已经腾出来了(查询为空)

    sudo kill -9 26191  //sudo kill -9 <PID>
    

    在这里插入图片描述
    5.8 使用java指令运行项目jar包,这样我们的项目就算部署成功了

    java -jar ***.jar  //***为你的jar包名
    

    在这里插入图片描述
    5.9 随便找个浏览器,搜索栏输入http://公网ip:端口号 就可以搜索到你的网站了(如果你跟我一样,买的是学生优惠版的,它的带宽速度只有1M,第一次载入会非常慢,耐心等等,等有了钱,升级个好一点的吧)
    在这里插入图片描述
    5.10 还没完呢,这种启动方式是一次启动,当我们关掉Xshell的时候,我们的网站又访问不上了,又得重新打开Xshell,执行 java -jar ***.jar。所以我们要使用下面的方法让这个项目在服务器上自动不间断地跑.

    5.11 关掉重启一下Xshell(这样的话原本的项目就停掉了),创建并编写文件 start.sh,向其中添加字段 : java -jar ***.jar 。按ESC + :wq + 回车键保存退出
    在这里插入图片描述
    5.12 给这个start.sh 管理员权限,然后用nohup指令不间断地运行(nohup指令:忽略所有挂断(SIGHUP)信号,不挂断地运行命令)

    chmod 777 start.sh  //赋予管理员权限
    
    nohup  ./start.sh &  //不间断运行文件内的指令
    

    在这里插入图片描述
    5.13 使用

    netstat -anp | grep 8800
    

    查看端口使用情况
    在这里插入图片描述
    5.14 把Xshell关掉,在浏览器上输入http://公网IP:8800 发现项目还是可以进入,说明我们已经设置成功了。至此springboot项目部署到阿里云服务器上完结。

    5.15 但是有没有发现我们的网站跟别人的不太一样?别人访问网站都是www.***.com的格式的,而我们却要打一串复杂难记的数字。其实www.***.com是一个类似指针的东西(叫做域名),它指向的地址就是我们公网IP。这个指针在阿里云上就可以申请

    5.16在阿里云官网搜索“域名”
    在这里插入图片描述

    5.17 找到和自己心意的域名,选好后在右边的域名清单里给钱结算
    在这里插入图片描述
    5.18 进入控制台,可以看到你购买的域名
    在这里插入图片描述

    5.19 选择你要操作的域名,点击“解析”
    在这里插入图片描述
    5.20 然后按我下面的格式填好,确定保存。
    在这里插入图片描述
    5.21 然后我们就可以通过 www.域名.com:8800 的方式访问我们的网站了
    在这里插入图片描述
    5.22 然后发现,好像还是不对啊,别人家的网站后面不需要带端口号啊。emmmmm,这个就牵扯到备案的问题了,阿里云的客服告诉我,需要购买3个月后的服务器才具备备案资格,备案审核成功后我们才能通过 www.域名.com访问网站。等着吧,现在只能将就用着了。







    --------------------------------------------------结语----------------------------------------------------
    首先,我还是个正在实习的新手,文中有什么疏漏的地方,还望各位大佬在下方评论区指出。有什么写得不清楚的地方也可以在评论一起探讨。我在安装部署这些东西的时候踩了贼多坑,感慨万分,本着帮助别人就是帮助过去的自己的想法,写了这篇长文出来,希望能帮到大家。

    另,安利几篇我在安装过程中看到的几篇比较有用的文章给大家,但里面有也有一些细节是错误的,大家借鉴的时候自己勘误。
    https://blog.csdn.net/whh18254122507/article/details/78011713
    https://blog.csdn.net/pts315414/article/details/79076230
    https://blog.csdn.net/qq_34975710/article/details/83989642
    https://yq.aliyun.com/articles/292609
    https://blog.csdn.net/weixin_39800144/article/details/78836289
    https://blog.csdn.net/sinat_30436087/article/details/80669767

    ----------2020年8月2日 编辑-------------
    有小伙伴反应这边博文在数据库安装方面会出现问题,具体原因尚不清楚,我写这边博文装了两次MySQL都是可以用的。评论区也有位大佬解答一些数据库的问题,可做参考。

    展开全文
  • SpringBoot项目部署到阿里云服务器详细步骤

    万次阅读 多人点赞 2020-02-28 14:15:51
    SpringBoot项目部署到阿里云linux服务器全流程 文章里所有需要的软件、jdk、mysql、xshell等下载地址: 链接:https://pan.baidu.com/s/11PvQRdyv0zUzJCNuZ15nlA 提取码:gsj8 一、申请阿里云服务器 1.1 前往阿里...
  • 项目部署文档

    万次阅读 2018-07-09 17:07:59
    市场经营部署文档步骤 环境:windows服务器、tomcat、oracle数据库、pl/sql、javaweb项目war包 第一步:  1、创建表空间: CREATE TABLESPACE "SUPP_DATA" DATAFILE 'D:\APP\ADMINISTRATOR\ORADATA...
  • linux项目部署

    千次阅读 2018-06-01 16:51:53
    到这里,通过自己的学习并实践将项目部署掌握了,从此部署项目So easy。应了那句话自己动手丰衣足食。  最后再发几个常用命令 df -h 查看磁盘使用信息 vi filename 查看文件输入后进入命令行模式,命令行模式输入I...
  • 方法一:前后端分开部署 一、前端部署 1、下载 nginx,官方网址如下: http://nginx.org/en/download.html
  • Angular项目部署

    千次阅读 2018-08-21 22:09:32
    1、最简化的部署方式 最简化的部署方式就是为开发环境构建,并把其输出复制到 Web 服务器上。 使用开发环境进行构建 content_copyng build 把输出目录(默认为 dist/)下的每个文件都复制到到服务器上...
  • 重新部署项目 开发环境重新build项目(Mac环境的打包语法) CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build 查找指定端口的进程 博主的端口号9001 netstat -tunlp|grep 9001 结束之前的进程,开启新进程启动...
  • ssm项目部署步骤

    千次阅读 2018-12-10 17:51:56
    ssm项目部署步骤: 安装jdk,配置环境变量 安装mysql,并导入数据库(使用Navicat导入更方便) 安装redis,并把redis设置为后台进程自启动(ssm项目中用到了redis) 安装tomcat,配置端口号,生成war包直接丢入...
  • 微服务项目部署在docker容器运行

    千次阅读 2019-10-20 14:00:31
    昨天的一篇微服务项目中涉及到docker部署,今天写一篇关于微服务项目部署在docker容器中运行,使用github上另外一个比较经典的微服务项目piggyMetric,项目的github地址:https://github.com/sqshq/piggymetrics,这...
  • 前后端分离项目部署(部署在同一台服务器) 博主现在参与的项目是前后端分离的,前端是用vue写的并用npm构建的,后端是用java写的用maven构建的,但是前端和后端在同一个项目中,之前的部署方式是前端代码在本地调试好...
  • Java Web项目部署在linux服务器 1.情况说明: 本Java Web项目原先部署于Windows的服务器上,上线的不久后,由于存在SQL注入漏洞,被下令整改,最后决定,从Windows服务器迁移到linux服务器上,增加安全性。 本次...
  • vue项目部署到nginx

    万次阅读 多人点赞 2019-05-26 17:09:15
    最近产品做了一半,要求将前端的代码部署到服务器,以前没有部署过,这可咋办呀~~。现在部署好了,给大家总结以下,里面还是有很多坑的
  • Python项目部署到服务器上

    千次阅读 2020-12-14 18:11:02
    优先级: CRITICAL 50 ERROR 40 WARNING 30 INFO 20 DEBUG 10 NOTSET 0 最近用Python写了个外挂,需要部署到Linux环境的服务器上,由于之前本地开发时使用virtualenv,使用这个虚拟环境有个好处是项目中依赖的库不会...
  • Eclipse中web项目部署至Tomcat步骤

    万次阅读 2017-07-03 10:29:31
    Eclipse中web项目部署至Tomcat步骤
  • 此套商城基本上就部署的差不多了,还有一个是微信小程序的,这个我也暂时还没学会怎么部署,对于小白进行项目实战来说,部署完以上我写的这个足够了。 往期环境部署相关文章: Jenkins自动部署测试环境之jar包部署 ...
  • java项目部署到阿里云服务器步骤

    万次阅读 多人点赞 2018-07-25 11:51:31
    项目部署到阿里云服务器步骤 win 环境 1. 首先购买服务器,选择系统版本镜像,经典网络,默认安全组 2. 可以点击远程连接然后进去看看。或者直接跳到第 3 步   3.window 下点开始菜单找到 远程...
  • web项目部署结构

    千次阅读 2018-07-12 10:41:39
    ---------------------------- web项目部署结构----------------------------1. Web项目1 Web项目部署后目录结构tomcat\webapps目录是用来存放Java项目的,每个文件夹都是一个项目。默认这个目录下已经有了四个项目...
  • 前端VUE项目部署到服务器

    千次阅读 2021-01-04 16:47:22
    前端VUE项目部署到服务器 具体步骤: 一、先运行前端VUE项目的“build”任务,会得到一个“dist”打包文件。 二、在项目文件夹同级目录下新建文件夹“XXX_severe”。例如我的项目名称为“shop”,那么我在与“shop”...
  • vue项目部署到服务器上

    万次阅读 多人点赞 2019-09-02 11:38:28
    在前面的文章里面,自己做了一个练手的小项目,买了服务器之后,也对linux的命令有了初步的认识和理解,现在开始把做好的项目部署到服务器上,通过域名来访问。 Vue项目从搭建环境到打包上线 ...1:使用npm run build...
  • JavaWeb项目部署到服务器之详细步骤

    千次阅读 2020-12-14 10:03:14
    一.准备Java环境 1.下载JDK: 2.解压 tar -zvxf jdk-8u161-linux-x64.tar.gz -C /home/bcf/soft/ 3.配置java环境 4....最后访问自己服务器的IP地址,就可以看到自己的web项目成功部署到服务器上啦~
  • Vue项目部署到CentOS服务器

    千次阅读 2019-09-25 10:59:57
    Vue项目部署到CentOS服务器 config/index.js上修改以下部分: 首先是host:'localhost'改为服务器ip assetsPublicPath:'/'改为assetsPublicPath:'./' 运行npm install npm run build 将dist下的static文件夹...
  • 宝塔PHP项目部署

    千次阅读 2020-02-18 19:33:07
    在网站管理添加站点,设置 域名 和 根目录,...如果部署多个项目,宝塔不允许创建多个相同域名,可以随便填,添加完再改回来,只要端口不同,项目之间不会有影响 将项目拷贝到添加站点时设置的根目录,即部署成功 ...
  • 前言:目前,前后端分离的架构已成主流,而使用SpringBoot构建Web应用是非常快速的,项目发布到服务器上的时候,只需要打成一个jar包,然后通过命令 : java -jar jar包名称即可启动服务了。 一、jar包(官方推荐) ...
  • 项目部署到Linux上 第一步:Linux中要先安装tomcat(安装tomcat要先安装jdk,因为他是在Java环境下运行,安装jdk这里就不介绍了 看我的以前博客)  Tomcat安装  步骤:  1上传Tomcat到linux上  2 解压...
  • 将web项目部署到Tomcat中

    千次阅读 2020-02-20 15:56:19
    步骤1:打开Eclipse,找到下方Servers,点击红框内语句(若已有Tomcat服务,请忽略步骤1~2) ... ...步骤4:在Deploy path文本框中输入webapps文件夹名称 ...表示将当前Web项目部署至Tomcat/webapps目录下服务选项...
  • 前端项目部署(nginx docker容器)

    千次阅读 2019-05-15 11:56:53
    1.假设我现在需要把我的前端项目部署到服务器上,并且使用http://training.certmaptest.com/web/#/来访问我的主页。首先我们需要在nginx里配置location 2.当在浏览器上输入路由http://training.certmaptest.co...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 892,931
精华内容 357,172
关键字:

项目部署