Centos 7云服务器上部署Javaweb项目
前言:
本人本地的项目:ssm+maven+bootstrap,云服务器是阿里云的Contos 7版本,如果你创建的云服务器是window server,可以更换系统盘。
正题:
一、远程连接linux工具:SecurityCRT
1.安装
https://share.weiyun.com/9ef89212a5a08f13ea41c8fb3557984a,下载安装即可。
2.连接服务器
输入密码
连接成功
二、文件上传下载服务器:FTP
1.介绍
ftp的全称是 File Transfer Protocol : 文件传输协议。 顾名思义,ftp就是用来我们把本地的文件传输到服务器上,从服务器上下载文件用的。
2.安装
Linux上的ftp服务器有各种型号,我们会使用vsftpd,全称是:very secure FTP daemon 非常安全的ftp后台程序。为了使得这个服务器可以使用还要做许多配合工作,比如创建用户,配置端口,开放端口等。
2.1.安装命令
yum install vsftpd -y
执行完之后,在最后看见Complete!就表示安装成功。
2.2.查看服务器状态
systemctl status vsftpd.service
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这样的客户端。 这种不能登陆的用户又叫做虚拟用户
创建过程给出的警告信息是正常的,不用理会。
3.4.设置密码
pass ftptest
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.安全组
7.2.当前安全组预览
7.3.添加端口
8.FTP客户端工具:ftprush
https://share.weiyun.com/7a00fcc9453792324cfdbc4853803c29
下载安装即可。
8.1.ftprush
打开ftprush.exe之后看到如图所示的界面
8.2.连接
菜单->站点->快速连接对话框
主机地址:输入服务器地址
用户名: ftptest
密码:xxx
8.3.连接成功界面
8.4.上传下载
把右边的内容拖到左边,就是上传,把左边的内容拖到右边,就是下载。
三、JDK安装
1.安装命令
yum -y install java-1.8.0-openjdk.x86_64
出现Complete!表示安装成功
2.检测
java -version
出现java版本表示jdk安装成功
四、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账号创建成功
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.本地数据传输到云数据库上
连接云数据库
传输数据准备
传输数据:右键点击本地待传输的数据库-->选择数据传输选项,按照下图所示传输数据
五、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端口处于监听状态
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选项,按照下面图所示操作
配置打包文件存放目录
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/
效果如下:
总结:linux Contos 7上部署javaweb项目,前五大项部署基本一致,最后一项部署要根据个人项目情况部署,本教程中,项目是将 http://ip:8080/与登陆页绑定,将登陆页作为启动页,其他项目可能不是这样的,各种xml文件修改,每个项目都有不同修改,本教程是简单的javaweb项目,没有涉及复杂配置,一般项目都可以按照此教程操作即可部署成功。