部署java项目到阿里云服务器(centos7版本)

Posted 不懂是非

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了部署java项目到阿里云服务器(centos7版本)相关的知识,希望对你有一定的参考价值。

转载请注明出处()  

一、搭建环境

1、搭建java环境(64位)

     一、准备压缩包,rpm包或者tar包,将其上传到阿里云对应的文件夹(我用的工具是WinSCP,百度一下就有下载资源)

    二、若是rpm包,可以通过 rpm -ivh 包名  如 rpm -ivh jdk-8u101-linux-x64.rpm,来进行解压,

           若是tar.gz形式,则可以通过tar -xzvf 包名,如 tar -xzvf jdk-8u151-linux-x64.tar.gz,

    三、配置环境变量

           打开环境配置文件,再在里面插入几行代码,如下     

1 vi /etc/profile   //打开配置文件命令
2 
3 
4 export JAVA_HOME=/usr/local/soft/jdk/jdk1.8   //jdk的路径
5 
6 export PATH=$JAVA_HOME/bin:$PATH
7 
8 export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

 

 

 

        再保存退出,运行命令  source /etc/profile ,使这个文件生效

  再在命令窗口。输入 java -version,出现如下也没,则成功,否则配置出错。

2、tomcat的搭建

        一、下载tomcat包

     二、解压包,如jdk一样。

    三、启动tocmcat,执行bin目录下的startup.sh(注:若在bin目录下启动时tomcat,记得加./,否则会出现以下错误)

      

 

      四、启动成功后,可以通过以下命令来查看启动日志。    

1 tail -f logs/catalina.out -n 120   //-n为要显示多少行数据   其中logs文件夹在tomcat文件下,和webapp目录同级

 

           五、访问tomcat,在centos中命令行界面,可以通过下面命令来访问 tomcat   

1 curl http://127.0.0.1:8080

    若出现一大堆的html代码,则表明访问成功,

  六、在windows环境进行访问

                不能访问,则需要打开centos的防火墙配置,添加8080端口,命令如下    

1 firewall-cmd --zone=public --add-port=80/tcp --permanent
2  命令含义:
3 --zone #作用域
4 --add-port=80/tcp #添加端口,格式为:端口/通讯协议
5 --permanent #永久生效,没有此参数重启后失效

    再次访问,即可成功。

 

 三、搭建mysql环境        

    一、下载 mysql的rpm包        

1 wget http://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm

 


      若出现wget: 未找到命令,则安装wget, 命令 :yum -y install wget
    二、本地安装rpm到linux系统
    yum localinstall mysql57-community-release-el7-8.noarch.rpm
    三、使用yum进行在线安装,需要联网
    yum install mysql-community-server
    若网速慢,则可以换一个yum源,如下(来源: http://blog.csdn.net/qq392039757/article/details/55511536)
    1、备份
      mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
    2、下载新的CentOS-Base.repo 到/etc/yum.repos.d/
      CentOS 5
        wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-5.repo
      CentOS 6
        wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo
      CentOS 7
        wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
      3、之后运行yum makecache生成缓存
      若运行了出现/var/run/yum.pid 已被锁定,PID 为 1241 的另一个程序正在运行。则可以rm -f /var/run/yum.pid。
    四、启动mysql服务
    systemctl start mysqld,其中 start为启动,restart为重启,stop为停止。
    五、查看临时密码用来登录
    grep \'temporary password\' /var/log/mysqld.log

 

   六、修改密码
      不然什么都用不了。修改密码如下
      ALTER USER \'root\'@\'localhost\' IDENTIFIED BY \'new_password\';
      密码有规则,若密码不符合其规则,会报如下错误
      Your password does not satisfy the current policy requirements
      mysql5.7对密码有要求,必须有大小写字母,数字,特殊字符
      若不适应该规则,可以通过修改/etc/my.cnf文件来改变密码规则,在[mysqld]下加入validate_password=off 
      再通过systemctl restart mysqld来重启mysql来保存设置,这时也得注意,要设置密码的的过期时间,直接运行命令
          ALTER USER \'root\'@\'localhost\' PASSWORD EXPIRE NEVER;
   七、改变编码
      可加入
      [mysql]
      # 设置mysql客户端默认字符集
      default-character-set=utf8
      [mysqld]
      character-set-server=utf8
      同时也要记得重启mysql使之生效,systemctl restart mysqld,
   八、在使用远程连接时,还要赋予权限
      命令如下
      GRANT ALL PRIVILEGES ON *.* TO \'root\'@\'%\' IDENTIFIED BY \'your_root_password\' WITH GRANT OPTION;

        刷新权限:FLUSH   PRIVILEGES;
   九、在远程时连接遇到

      

      

      此时应该要开放端口3306,命令如下
      firewall-cmd --zone=public --add-port=3306/tcp --permanent

二、部署项目

      方式一、

            直接将本地项目打成war包,再通过工具将war包放到tomcat的webapp下,启动tomcat即可,

        方式二、

            在部署的项目的pom文件中加入以下代码

        

 1 <build>
 2         <plugins>
 3             <plugin>
 4                 <groupId>org.apache.tomcat.maven</groupId>
 5                 <artifactId>tomcat7-maven-plugin</artifactId>
 6                 <configuration>
 7                     <port>8080</port>
 8                     <path>/</path>
 9                     <url>http://ip:8080/manager/text</url>//ip为阿里云的公网ip
10                       //用户名和密码随意填,但要和阿里云上的用户名和密码配对
11                     <username>tomcat</username>
12                     <password>tomcat</password>
13                 </configuration>
14                 </plugin>
15         </plugins>
16     </build>                

      之后,在阿里云上的tomcat文件夹下的conf/tomcat-users.xml 文件,通过vi命令打开,在<tomcat-users></tomcat-users>里添加如下内容

          其中用户名和密码的值和上面的用户名密码相对应

1 <role rolename="manager-gui" />
2 <role rolename="manager-script" />
3 <user username="tomcat" password="tomcat" roles="manager-gui, manager-script"/>

      使用elipse,执行其命令运行(一定得开放8080端口)

                            

    若在控制台看到如下消息,即成功

 

 三、tomcat启动遇到的问题

      tomcat启动超慢的问题。

        (以下内容转载自:http://blog.csdn.net/qq276726581/article/details/53790926)

    A.使用伪随机函数生成器
      /dev/unrandom /dev/urandom并不是真正的随机行为(其实一般不容易重复),主要有两个地方可以修改。
      通过修改 Tomcat 启动文件 -Djava.security.egd=file:/dev/urandom
      通过修改 JRE 中的 java.security 文件 securerandom.source=file:/dev/urandom

    B.增大/dev/random的熵池(推荐)
      问题的原因是由于熵池不够大,所以增大它是最彻底的方法。我们可以通过软件的方法实现,下面是软件的安装和配置流程。
      安装熵服务
      yum install rng-tools
      启动熵服务
      systemctl start rngd
      如果你的 CPU 不支持 DRNG 特性或者像我一样使用虚拟机,可以使用/dev/unrandom来模拟。
      cp /usr/lib/systemd/system/rngd.service /etc/systemd/system
      vim /etc/systemd/system/rngd.service
      #以下是编辑内容
      ExecStart=/sbin/rngd -f -r /dev/urandom

      重新载入服务
      systemctl daemon-reload
       systemctl restart rngd
     经过上面的修改,我们再观察 cat /proc/sys/kernel/random/entropy_avail 基本上在 3000 左右。这个时候重新启动 Tomcat,发现启动时间正常

 


    以上就是部署项目的过程,若有不足之处,望指正

 

以上是关于部署java项目到阿里云服务器(centos7版本)的主要内容,如果未能解决你的问题,请参考以下文章

基于阿里云服务器Linux系统部署JavaWeb项目

关于写SpringBoot+Mybatisplus+Shiro项目的经验分享四:部署到阿里云

阿里云 Centos7 部署 Django 项目

Eg挨蒙—阿里云Centos7部署Lnmp+Zabbix+Grafana监控系统

SpringCloud 集成 Eureka服务 部署阿里云服务器

部署Web项目到阿里云服务器