Centos 7云服务器上部署Javaweb项目

时间:2022-09-17 15:07:48

前言:

  本人本地的项目:ssm+maven+bootstrap,云服务器是阿里云的Contos 7版本,如果你创建的云服务器是window server,可以更换系统盘。

  Centos 7云服务器上部署Javaweb项目

正题:

  一、远程连接linux工具:SecurityCRT

    1.安装

    https://share.weiyun.com/9ef89212a5a08f13ea41c8fb3557984a,下载安装即可。

    2.连接服务器

    Centos 7云服务器上部署Javaweb项目

    输入密码

    Centos 7云服务器上部署Javaweb项目

    连接成功  

    Centos 7云服务器上部署Javaweb项目

  

  二、文件上传下载服务器:FTP

    1.介绍

    ftp的全称是 File Transfer Protocol : 文件传输协议。 顾名思义,ftp就是用来我们把本地的文件传输到服务器上,从服务器上下载文件用的。

    2.安装

    Linux上的ftp服务器有各种型号,我们会使用vsftpd,全称是:very secure FTP daemon 非常安全的ftp后台程序。为了使得这个服务器可以使用还要做许多配合工作,比如创建用户,配置端口,开放端口等。

    2.1.安装命令

      

yum install vsftpd -y

    执行完之后,在最后看见Complete!就表示安装成功。

    Centos 7云服务器上部署Javaweb项目

    2.2.查看服务器状态

    

systemctl status vsftpd.service

    Centos 7云服务器上部署Javaweb项目

    2.3.关闭和启动服务器

    

systemctl stop vsftpd.service  //关闭
systemctl start vsftpd.service //启动

    2.4.检查端口

    

netstat -anp|grep 21

    3.ftp用户

    3.1.概念

      要连接上 vsftpd 服务器需要为Linux创建专门的用户。

    3.2.用户目录

      在Linux中,不同用户是有不同目录访问权限的,所以首先创建一个目录,作为这个ftp用户所拥有的目录。

      

mkdir -p /home/wwwroot/ftptest //创建目录,-p 父目录没有强制创建

    3.3.创建用户

      

useradd -d /home/wwwroot/ftptest -g ftp -s /sbin/nologin ftptest

    -g ftp 表示该用户属于ftp分组 (ftp分组是内置的,本来就存在,不需要自己创建)
    -s /sbin/nologin 表示这个用户不能用来登录secureCRT这样的客户端。 这种不能登陆的用户又叫做虚拟用户

    创建过程给出的警告信息是正常的,不用理会。

    Centos 7云服务器上部署Javaweb项目

    

    3.4.设置密码

      

pass ftptest

    Centos 7云服务器上部署Javaweb项目

    4.配置用户

    4.1.去掉匿名登陆

      默认情况下vsftpd服务器是允许匿名登陆的,这样非常不安全,所以要把这个选项关闭掉。

      

vi /etc/vsftpd/vsftpd.conf

      修改配置

      

anonymous_enable=YES  //将YES改为NO

      至于vi命令编辑文件,大家可以在网上搜。

    4.2.限制用户访问

      本教程中创建的ftptest用户所拥有的目录是 /home/wwwroot/ftptest,如果不做限制,那么使用ftptest登陆之后可以切换到其他敏感目录去,比如切换到/usr目录去,这样就存在巨大的安全隐患。

      为了规避这个隐患,需要限制ftptest用户只能通过ftp访问到 /home/wwwroot/ftptest 目录以及子目录。

      

vi /etc/vsftpd/vsftpd.conf

      配置修改

      

#chroot_list_enable=YES
# (default follows)
#chroot_list_file=/etc/vsftpd.chroot_list  //修改为/etc/vsftpd/chroot_list

      chroot_list_enable=YES: 表示对用户访问进行限制
      chroot_list_file=/etc/vsftpd/chroot_list 表示对chroot_list里面指定的用户进行限制 

    4.3.用户清单

      在chroot_list中添加ftptest用户

      

vi /etc/vsftpd/chroot_list

      添加一行:ftptest

      添加完之后,保存退出。

    4.4.允许写权限

      vsftpd服务器是这样的,一旦某个用户被限制访问了,那么默认情况下,该用户的写权限也被剥夺了。 这就导致ftp客户端连接上服务器之后无法上传文件。这个时候,就需要打开此用户的写权限

      

vi /etc/vsftpd/vsftpd.conf

      在最后新增一行

  

allow_writeable_chroot=YES

      修改完成之后,保存退出。

    5.配置端口

     vsftpd有两种端口,一个是21端口,用来监听客户端连接请求的。 这个一般说来是固定的,就一直使用21端口。
     另一种是,一旦获取到请求之后,再专门用户服务端和客户端传输数据的端口。
     本知识点就是用于指定第二种端口的获取范围

     

vi /etc/vsftpd/vsftpd.conf

      在最后添加:

      

pasv_enable=YES
pasv_min_port=30000
pasv_max_port=31000

      这表示使用被动模式,用于传输数据的端口分配从30000-31000之间。

    6.重启vsftpd服务器

    

systemctl restart vsftpd.service

    6.1.查看状态

    

systemctl status vsftpd.service

    7.开放端口

    在阿里云控制台中添加安全组

    7.1.安全组

    Centos 7云服务器上部署Javaweb项目

    7.2.当前安全组预览

    Centos 7云服务器上部署Javaweb项目

    7.3.添加端口

    Centos 7云服务器上部署Javaweb项目

    8.FTP客户端工具:ftprush

    https://share.weiyun.com/7a00fcc9453792324cfdbc4853803c29

    下载安装即可。

    8.1.ftprush

      打开ftprush.exe之后看到如图所示的界面

      Centos 7云服务器上部署Javaweb项目

    8.2.连接

      菜单->站点->快速连接对话框
      主机地址:输入服务器地址
      用户名: ftptest
      密码:xxx

      Centos 7云服务器上部署Javaweb项目

    8.3.连接成功界面

      Centos 7云服务器上部署Javaweb项目

    8.4.上传下载

      把右边的内容拖到左边,就是上传,把左边的内容拖到右边,就是下载。

    

  三、JDK安装

    1.安装命令

    

yum -y install java-1.8.0-openjdk.x86_64

    出现Complete!表示安装成功

    Centos 7云服务器上部署Javaweb项目

    2.检测

    

java -version

    出现java版本表示jdk安装成功

    Centos 7云服务器上部署Javaweb项目

 

  四、Mysql

    1.下载

     yum上mysql的资源有问题,所以不能仅仅之用yum。在使用yum之前还需要用其他命令获取mysql社区版。

     

cd /temp
wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm  
rpm -ivh mysql-community-release-el7-5.noarch.rpm 

     2.安装

      

yum install mysql mysql-server mysql-devel -y

     3.启动

      

systemctl start mysql.service

     4.检查端口

      

netstat -anp|grep 3306

     5.设置密码

      

mysqladmin -u root password admin

      给root用户配置密码:admin

     6.登陆验证

      

mysql -uroot -padmin

    登陆成功之后,输入

    

show databases;

    能出现下图所示,表明root账号创建成功

    Centos 7云服务器上部署Javaweb项目

    7.配置远程登陆

    本地项目的数据库数据要上传到云服务器上,可以用mysql客户端连接云服务器上mysql.server。将本地的数据传输到云上。

    7.1.配置远程登陆

    

mysql -uroot -padmin //登陆
use mysql; //打开mysql数据库
update user set host='%' where user='root';//将root账号的本地登陆改为所有IP都可以登陆

    按Ctrl+c退出

    重启mysql

systemctl restart mysql.service

    在阿里云服务器上添加mysql端口的安全组

    7.2.本地数据传输到云数据库上

    连接云数据库

    Centos 7云服务器上部署Javaweb项目

    传输数据准备

    Centos 7云服务器上部署Javaweb项目

      传输数据:右键点击本地待传输的数据库-->选择数据传输选项,按照下图所示传输数据

      Centos 7云服务器上部署Javaweb项目

 

  五、Tomcat

    1.安装

    yum上没有tomcat的源,所以使用如下方式下载解压,解压后把tomcat移动到 /usr/local/tomcat7 目录下方便以后访问

    

cd /tmp
wget http://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-7/v7.0.82/bin/apache-tomcat-7.0.82.tar.gz
tar xzf apache-tomcat-7.0.82.tar.gz
mv apache-tomcat-7.0.82 /usr/local/tomcat7

    2.运行

    

/usr/local/tomcat7/bin/startup.sh

    3.验证

    

netstat -anp|grep 8080

    如下图所示,8080端口处于监听状态

    Centos 7云服务器上部署Javaweb项目

    4.查看启动日记

    

tail -100f /usr/local/tomcat7/logs/catalina.out

    -100表示看最后100行,f表示动态查看,一旦有更新的可以立即看见。

    按Ctrl+c退出

    在阿里云服务器中添加8080端口的安全规则

    5.解决启动慢

    安装工具即可

yum -y install rng-tools //安装
systemctl start rngd  //启动

    

  六、部署项目

    1.将本地项目打成war包

    右键点击项目-->选择Explort选项,按照下面图所示操作

    Centos 7云服务器上部署Javaweb项目

    配置打包文件存放目录

    Centos 7云服务器上部署Javaweb项目

    2.上传war包到云服务器上

    打开ftprush软件,连接云vsftpd.server

    将本地war文件上传到云服务器上

    3.将云vsftpd.server的权限目录中war文件移动到tomcat的webapps目录下

    

mv /home/wwwroot/ftptest/zy.war /usr/local/tomcat7/webapps

    4.启动tomcat,解压zy.war文件

    

/usr/local/tomcat7/bin/startup.sh

    5.修改applicationContext.xml

    

vi /usr/local/tomcat7/webapps/zy/WEB-INF/classes/applicationContext.xml

    将数据库连接ip改为云服务器外网ip,mysql密码修改为云数据库的密码

    保存退出

    6.修改tomcat的server.xml文件

    

vi /usr/local/tomcat7/conf/server.xml

    在<host></host>标签体中添加<Context docBase="zy" path="" reloadable="true" useHttpOnly="true"/>

    保存退出

    重启tomcat

    

/usr/local/tomcat7/bin/shutdown.sh  //关闭
/usr/local/tomcat7/bin/startup.sh  //启动

    部署完成,开始测试项目

    在本地浏览器中输入:http://云服务器外网ip:8080/

    效果如下:

    Centos 7云服务器上部署Javaweb项目

 

  总结:linux Contos 7上部署javaweb项目,前五大项部署基本一致,最后一项部署要根据个人项目情况部署,本教程中,项目是将 http://ip:8080/与登陆页绑定,将登陆页作为启动页,其他项目可能不是这样的,各种xml文件修改,每个项目都有不同修改,本教程是简单的javaweb项目,没有涉及复杂配置,一般项目都可以按照此教程操作即可部署成功。