运维系列(4)-- 云服务器部署Java web项目(JDK, Tomcat, MySQL)

这里还有我其他项目的部署链接:
Flask Linux部署(HelloTest):Flask+Nginx+Gunicorn+Supervisor
Flask Linux部署(项目):Flask+Nginx+Gunicorn+Supervisor

目录

1、准备工作

-云服务器
-远程控制软件(MobaXterm),本地远程SSH登陆到个人云服务器的过程很简单,这里就不再细说

2、JDK安装

1、首先先到http://www.oracle.com/technetwork/java/javase/downloads/index-jsp-138363.html下载JDK,下载到本到后,通过MobaXterm上传到服务器。
2、配置目录
注意:最好以root用户来操作
先新建一个目录:

cd usr
sudo mkdir java
cd java
sudo mkdir jdk

然后解压jdk的tar文件到上面的目录:

 sudo tar zxvf jdk-9.0.4_linux-x64_bin.tar.gz -C /usr/java/jdk

3、配置环境变量
输入:

sudo vi /etc/profile  

添加如下内容:

#set java environment
export JAVA_HOME=/usr/java/jdk/jdk-9.0.4
export JRE_HOME=/usr/java/jd/jdk-9.0.4/jre
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$JAVA_HOME:$PATH

保存后执行:

source /etc/profile 

验证安装:

java -version 

如图所示:
这里写图片描述

3、配置tomcat

1、下载tomcat,到http://tomcat.apache.org/下载,此处笔者使用的是tomcat8.5,将tomcat下载到本地电脑上,通过MobaXterm上传到服务器。
2、安装
此处我把tomcat安装到/usr/java/tomcat中去。

cd /usr/java/
sudo mkdir tomcat

解压:

sudo tar zxvf apache-tomcat-8.5.28.tar.gz -C /usr/java/tomcat

3、配置环境
进入到上面的tomcat的bin文件夹下

sudo -i
cd /usr/java/tomcat/apache-tomcat-8.5.28/bin
sudo vi setclasspath.sh  

添加如下:

export JAVA_HOME=/usr/java/jdk/jdk-9.0.4/
export JRE_HOME=/usr/java/jdk/jdk-9.0.4/jre

然后退回到bin目录下:
执行:

./startup.sh 

出现如下,说明安装成功:
这里写图片描述
这样就可以通过(网址:8080)访问了:
这里写图片描述

此处若无法访问,就去查看tomcat服务器的Log信息,看看tomcat服务器是否已经正常启动,进入tomcat服务器下的logs目录,打开catalina.out文件进行查看:

cd /usr/java/tomcat/apache-tomcat-8.5.28/logs
cat catlina.out

4、从本地上传java web项目

1、war包上传
本地打包好的war包,上传到服务器,例如:
转到我的工作目录,上传.war文件

cd /home/ubuntu/DD/
mkdir tools
cd tools
vim run.sh

插入如下:
意思是,将刚上传的包,复制到tomcat路径下,接着重启。

cp /home/ubuntu/DD/customs.war /usr/java/tomcat/apache-tomcat-8.5.28/webapps/ROOT.war
cd /usr/java/tomcat/apache-tomcat-8.5.28/bin
./shutdown.sh
./startup.sh
cd -

运行此文件:

sudo ./run.sh

如图所示:
这里写图片描述
此时由于还没有装MySQL,会报如下错误:
这里写图片描述

5、Linux下安装Tomcat服务器使用到的命令

5.1、linux查看端口被哪个进程占用

lsof -i:端口号

5.2、查看Linux服务器的版本

lsb_release -a

5.3、查看当前iptables(防火墙)规则
  可使用”iptables –L –n”查看当前iptables规则

iptables –L –n

5.4、添加指定端口到防火墙中
  iptables -I INPUT -p 协议 –dport 端口号 -j ACCEPT

iptables -I INPUT -p udp --dport 161 -j ACCEPT
iptables -I INPUT -p tcp --dport 8080 -j ACCEPT

6、安装MySQL

1.下载安装包到本地
http://cdn.mysql.com/archives/mysql-5.6/mysql-5.6.26-linux-glibc2.5-x86_64.tar.gz
2.上传到服务器
3.解压安装包

sudo tar zxvf mysql-5.6.26-linux-glibc2.5-x86_64.tar.gz -C /usr/local/

4.进入文件夹

cd /usr/local/ # 进入该目录
sudo mv mysql-5.6.26-linux-glibc2.5-x86_64/ mysql   #改名

5.创建用户组和用户

groupadd mysql
useradd -g mysql mysql

6.修改权限

chown -R mysql:mysql /usr/local/mysql

7.安装数据库

cd /usr/local/mysql
scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql

error while loading shared libraries: libaio.so.1

解决方案:

sudo apt-get install libaio1 libaio-dev

继续

cp support-files/mysql.server /etc/init.d/mysql
chmod 755 /etc/init.d/mysql
cp support-files/my-default.cnf /etc/my.cnf

#修改启动脚本
vi /etc/init.d/mysql

#修改项:
basedir=/usr/local/mysql/
datadir=/usr/local/mysql/data/mysql

启动服务:

#启动服务
service mysql start

这时会有错误:

Package ‘chkconfig’ has no installation candidate

chkconfig: command not found

解决方案:

sudo apt-get install sysv-rc-conf
alias chkconfig=sysv-rc-conf   
#因为Ubuntu没有chkconfig,所以安装sysv-rc-conf并重命名为chkconfig,机智!
chkconfig --list      #显示列表
chkconfig mysql on    #打开

MySQL提示:The server quit without updating PID file问题的解决办法

1、可能是/usr/local/mysql/data/mysql.pid文件没有写的权限
解决方法 :给予权限,执行 “chown -R mysql:mysql /var/data” “chmod -R 755 /usr/local/mysql/data”  然后重新启动mysqld!

2、可能进程里已经存在mysql进程
解决方法:用命令“ps -ef|grep mysqld”查看是否有mysqld进程,如果有使用“kill -9  进程号”杀死,然后重新启动mysqld!

3、可能是第二次在机器上安装mysql,有残余数据影响了服务的启动。
解决方法:去mysql的数据目录/data看看,如果存在mysql-bin.index,就赶快把它删除掉吧,它就是罪魁祸首了。本人就是使用第三条方法解决的 !

4、mysql在启动时没有指定配置文件时会使用/etc/my.cnf配置文件,请打开这个文件查看在[mysqld]节下有没有指定数据目录(datadir)。
解决方法:请在[mysqld]下设置这一行:datadir = /usr/local/mysql/data

5、skip-federated字段问题
解决方法:检查一下/etc/my.cnf文件中有没有没被注释掉的skip-federated字段,如果有就立即注释掉吧。

9 启动mysql

service mysql start  
#测试连接
./mysql/bin/mysql -uroot
#加入环境变量,编辑 /etc/profile,这样可以在任何地方用mysql命令了
vim /etc/profile
export PATH=/usr/local/mysql/bin:$PATH  
#刷新
source /etc/profile
#启动mysql
service mysql start
#关闭mysql
service mysql stop
#查看运行状态
service mysql status

—————————————————————————-

若是无root权限,可将mysql安装到用户目录下

方法如下:
https://jingyan.baidu.com/article/ad310e80cf9ce81849f49ea2.html

mysqld_safe A mysqld process already exists

mysqld_safe A mysqld process already exists

表示mysqld_safe进程存在,可以通过
ps -A|grep mysql 查看mysqld_safe进程ID
kill -9 xxxx            终结ID为xxxx的进程
scripts/mysql_install_db --defaults-file=my.cnf  --user=user

bin/mysqld_safe --defaults-file=my.cnf &

netstat -an | grep 3306
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值