前言:所有项目在完成开发后都会部署上线的,一般都是用Linux系统作为服务器的,很少使用Windows Server(大多数项目的开发都是在Windows桌面系统完成的),一般有专门负责上线的人员。作为一个开发人员当然也能玩转Linux,毕竟Linux是很多IT人员的喜好。
下面就使用纯净的Linux系统完成Java Web项目的部署。
- 安装一个VMware workstation
- 在虚拟机上面安装CentOS系统 (这里使用的CentOS6.7 64位)
- 安装Java开发环境JDK 1.8
- Tomcat8.5 其他服务器也可以
- 数据库安装MySQL5.7 (Oracle、MS Server也可以)
一、搭建Linux环境
1.下载并安装一个VMware workstation, 这个是虚拟机的平台(自行度娘下载~),虚拟机是在后面要在里面搭建Linux系统。
2.下载一个centos安装包,linux版本有多种,比如说redhat、ubuntu、deepin、BT3,个人比较习惯使用centos,这里下载一个 CentOS-6.4-i386-bin-DVD1.iso,6.4版本的。
3.新建一个虚拟机,并把这个安装包导入进去,记住期间步骤有一步是需要建一个用户和设置密码,这里的用户是linux环境的普通账户,但是密码是根账户root和这个普通用户共用的密码(这节的教程也在我的博客上一节有详细的步骤)
4.安装完成后,是图形化界面,一般我们要用到的是命令行界面,所以这里可以用快捷键 CTRL+ALT+F2,就可以切换到命令界面了。(命令行界面有几种方式可以进入,这边gqzdev推荐的是==Xshell5== 比较方便使用。需要的可以留言!)
XShell5 Xftp5工具(其他工具可以!)
5.用命令ifconfig查看IP 地址,然后可以考虑用Xshell来连接虚拟机,这样操作命令会比较方便,不用频繁的切换出来或者切换出去。
上面的安装及配置有问题的可以自行百度,网上资源很多。主要是搭建好Linux系统环境…..
二、JDK安装
- 首先下载一个JDK版本,我这里下载的是==jdk-8u221-linux-x64.gz== 这个版本。(JDK1.8目前用得比较多!)
也可以自行到JDK官网下载 www.oracle.com/technetwork… - 用xftp上传到linux环境中去。上传的路径为: /usr/java
将刚才下载好的 压缩包解压,得到一个jdk1.8.0_221的文件夹。使用tar -xzvf命令解压
然后用Xftp上传至linux环境中去。有两种方式
第一种,通过功能栏红框内的“向右传输” 传过去
第二种,直接拖动文件夹,拖过去。
非常重要的一点,linux环境中的路径 是 /usr/java…..
JDK传过去之后,现在就开始着手配置JDK环境了
3. 配置JDK环境,需要给予这个文件夹最高的权限,为了后续的方便,这边直接赋予最高权限
首先,通过XFTP打开Xshell(打开方式上一节有讲到)
1)切换到”/“目录下 cd ../..
2)切换到local路径下 cd /usr/java
3)赋予JDK文件最高权限 chmod 777 -R jdk1.8.0_221
4. 配置JDK环境变量:
1)切换到”/“目录下 cd ../..
2)切换到etc路径下 cd etc
3)编辑profile文件 vim profile
4)按下键盘的 insert 键,进入编辑模式
5)配置JDK的环境变量,在profile中输入如下内容(空白位置填入即可,添加在最后):建议配置变量参考下面的配置方式
export JAVA_HOME=/usr/java/jdk1.8.0_221 【特别说明:这个就是你的jdk的安装路径!!!不要弄错了!要以你自己的路径为准!】
6) 按住键盘的ESC键,然后输入 :wq,就保存了你刚刚设置的环境变量
7)让你刚刚设置的环境变量生效 source profile
8)如何查看你的JDK是否配置完成呢?输入命令 java -version,看到下面的对应安装JDK版本的截图,就说明你配置成功了!
在etc下面的profile里面最后面配置export…..
1 | 复制代码export JAVA_HOME=/usr/java/jdk1.8.0_221 |
通过java -version检查是否安装成功! 到此,JDK的配置就算完成了
三、服务器安装
Tomcat8.5下载 tomcat.apache.org/download-80…
下面来介绍下Tomcat的配置
- 首先下载 一个tomcat版本,我这里用的是apache-tomcat-6.0.37版本apache-tomcat-6.0.37.tar.gz是对应的压缩包。
- 可以用XFTP 直接把已经解压的apache-tomcat-6.0.37上传到 /usr/local路径,上传完毕,然后这里就需要对环境变量进行配置,然后后面的tomcat才会顺利启动
- 配置tomcat环境变量:
1)切换到”/“目录下 cd ../..
2)换到etc路径下 cd etc
3)编辑profile文件 vi profile
4)按下键盘的 i 键,进入编辑模式
5)配置tomcat的环境变量,在profile中输入如下内容(配置JDK环境变量后面添加多这行即可):建议配置变量参考下面红色字体的配置方式
export CATALINA_HOME=/usr/local/apache-tomcat-6.0.37 【特别注意:这里就是就是配置你的tomcat的安装路径!不要弄错了!】,如下图所示:
7)编辑完毕后,按住键盘的ESC键,然后输入 :wq,就保存了你刚刚设置的tomcat环境变量
8)让你刚刚设置的环境变量生效 source profile
注意:上面的JDK配置及tomcat路径的配置可能存在点问题 ,建议启用下面的配置方式
配置JDK环境变量及配置tomcat路径:
1)首先回到home路径,即顶级目录,命令: cd ~
2)然后打开并编辑环境变量的文件,输入命令: vi .bashrc
3)进入环境变量编辑环境,加入如下环境变量:
1 | 复制代码export JAVA_HOME=/usr/local/jdk1.6.0_45 |
4)编辑完毕,就保存内容,命令: 先按ESC,然后输入 ”:wq“就可以保存了。
5)配置完毕后要让配置生效,用命令:source ~/.bashrc
4.可以启动一下tomcat,看是否配置成功了:
1)切换到”/“目录下 cd ../..
2 ) 切换到启动命令所在的bin路径:cd /usr/local/apache-tomcat-6.0.37/bin
3 ) 输入tomcat 启动命令 ./startup.sh,如果遇到下面的提示,就说明你对bin文件里面的命令操作权限不够,就需要赋予权限:
4 ) 返回到bin的上级目录 cd ..
5 ) 赋予 bin文件的最高权限 chmod 777 -R bin
6 ) 切换到bin路径下 cd bin
7 ) 然后再次执行tomcat启动命令: ./startup.sh,出现如下截图,则表明启动成功。
8 ) 一般默认的端口则是8080,所以直接在你的PC端电脑的浏览器输入 你的ip地址加上端口号,即可以访问到tomcat的首页了。 http://【你的linux服务器IP地址】:8080
PS:ip地址 是你Linux服务器的ip地址,如何获取?—>在Linux中输入ifconfig 就可以获取到了!
10) 但是任何配置都不会这么轻松就配置成功的,会出现防火墙关闭或者端口被占用的问题,这里我们可以切换到 tomcat下的bin 目录,执行下面这个命令,查看tomcat日志: ./catalina.sh run, 一般日志格式如下:
注:如果访问不了,可以尝试关闭防火墙,在Linux下输入命令: service iptables stop,然后再访问就可以了!
11)在浏览器输入IP地址加端口号,如果看到tomcat 的首页,则表明成功了,如下所示:
四、数据库
安装开源数据库MySQL
- 选择yum安装
- 通过tar.gz压缩包进行安装
4.1 yum安装
校验当系统是否安装mysql:
1 | 复制代码rpm -qa | grep mysql |
卸载mysql:
1 | 复制代码// 强力删除模式,如果使用上面命令删除时,提示有依赖的其它文件,则用该命令可以对其进行强力删除 |
三行命令:
1 | 复制代码yum install mysql |
也可以一行:
1 | 复制代码yum install -y mysql mysql-server mysql-devel |
4.2 通过tar.gz压缩包进行安装
操作系统:Centos6.4 64位
工具:Xftp5、Xshell5
安装软件:mysql5.7
说明:使用官方编译好的二进制文件进行安装
- 移动安装文件到指定目录
- 检查是否安装Mysql
1 | 复制代码rpm -qa | grep mysql |
- 解压
1 | 复制代码tar -xvzf mysql-5.7.22-linux-glibc2.12-x86_64.tar.gz |
1 | 复制代码#重命名mysql57 |
进行到这里说明:
将mysql的压缩包解压到/usr/mysql/目录下面,并且rm重命名为mysql57
此时数据库的文件目录为 ==/usr/mysql/mysql57==
- 设置mysql目录访问权限,用户组
1 | 复制代码#将mysql目录访问权限赋为myql用户 |
权限被修改
- ==配置mysql==(重点部分)
创建以下文件,设置访问权限,用于mysql配置中
第一步:==创建文件/tmp/mysql.sock==。并设置权限
创建文件
1 | 复制代码 |
设置权限
1 | 复制代码[root@VM_0_17_centos tmp]# chown -R mysql:mysql /usr/mysql/mysql57/tmp/mysql.sock |
第二步:==创建/log/mysqld.log==。并设置权限
1 | 复制代码[root@VM_0_17_centos mysql57]# mkdir log |
如果出错,说明路径没有写全,要写绝对路径
第三步:==创建/tmp/mysqld.pid==。并设置权限
1 | 复制代码[root@VM_0_17_centos log]# cd ../tmp |
- ==初始化mysql==
1 | 复制代码[root@VM_0_17_centos mysql57]# bin/mysqld --initialize --user=mysql --basedir=/usr/mysql/mysql57/ --datadir=/usr/local/mysql57/data/ |
可能会报错。报错信息
1 | 复制代码 bin/mysqld: error while loading shared libraries: libnuma.so.1: cannot open shared object file: No such file or directory |
解决方法:
原因:
yum安装的是libnuma.so.1,但安装时默认安装的是32的,而db2需要的是64位的
- 1.如果已经安装了libnuma.so.1,先yum remove libnuma.so.1
1 | 复制代码[root@VM_0_17_centos mysql57]# yum remove libnuma.so.1 |
- 2.安装依赖包 yum -y install numactl.x86_64
1 | 复制代码[root@VM_0_17_centos mysql57]# yum -y install numactl.x86_64 |
- 3.安装完成后重新,执行
1 | 复制代码[root@VM_0_17_centos mysql57]# bin/mysqld --initialize --user=mysql --basedir=/usr/mysql/mysql57/ --datadir=/usr/local/mysql57/data/ |
==安装成功== 临时密码
配置SSL参数(在mysql目录下)
1 | 复制代码[root@VM_0_17_centos mysql57]# bin/mysql_ssl_rsa_setup --datadir=/usr/mysql/mysql57/data/ |
由于mysql-5.7.23版本my.cnf不在/support-files下,故我们==创建my.cnf==文件。
1 | 复制代码[root@VM_0_17_centos mysql57]# touch /etc/my.cnf |
复制如下内容(每个人安装路径可能不一样,==需要修改==):
1 | 复制代码[mysqld] |
配置完成
- 启动mysql
- 方式一
1 | 复制代码[root@VM_0_17_centos mysql57]# bin/mysqld_safe --user=mysql & |
查看mysql的运行情况
1 | 复制代码[root@VM_0_17_centos mysql57]# ps -ef |grep mysql |
第一我没有成功,因为我有个地方出问题了。我在方式二配置成功。
- 方式二
配置mysql自动启动(可根据需要配置)
1 | 复制代码[root@VM_0_17_centos mysql57]# cp support-files/mysql.server /etc/init.d/mysql |
添加配置(i 进入编辑;esc–> :wq保存退出)
若配置了mysql自启动方式则可以使用服务方式启动mysql
1 | 复制代码#查看mysql状态 |
1 | 复制代码[root@VM_0_17_centos tmp]# service mysql start |
Starting MySQL. ERROR! The server quit without updating PID file (/usr/local/mysql57/tmp/mysqld.pid).
==报错了,上面说没有/usr/local/mysql57/tmp/mysqld.pid。==
解决方案:
a) 创建文件/usr/local/mysql57/tmp/mysqld.pid
b) 修改权限
修改存放mysqld.pid文件目录的权限
1 | 复制代码chown -R mysql /usr/local/mysql57/tmp |
重新启动成功(如果还不行,就是中间某个步骤写错了。或者直接把mysql目录权限赋为777)
1 | 复制代码[root@VM_0_17_centos tmp]# /etc/init.d/mysql start |
- 配置mysql到环境变量
1 | 复制代码[root@VM_0_17_centos tmp]# vim /etc/profile |
1 | 复制代码export MYSQL57_HOME=/usr/mysql/mysql57/bin |
这个地方是冒号 ( :)
设置环境变量立即生效
1 | 复制代码[root@VM_0_17_centos tmp]# source /etc/profile |
- mysql忘记密码
切换到mysql下的bin目录
1 | 复制代码[root@localhost bin]# ./mysql -u root -p |
密码错误。。而且之前安装的密码也忘记了
解决方案:
- 第一步:跳过MySQL的密码认证过程
(注:windows下修改的是my.ini)
1 | 复制代码[root@VM_0_17_centos bin]# vim /etc/my.cnf |
在[mysqld]后面任意一行添加“==skip-grant-tables== ”用来跳过密码验证的过程,如下图所示:
保存并退出(esc–> :wq)
- 第二步:重启mysql
1 | 复制代码[root@VM_0_17_centos bin]# /etc/init.d/mysql restart |
- 第三步:登录mysql
进入mysql/bin目录,启动mysql
1 | 复制代码[root@VM_0_17_centos bin]# ./mysql |
启动成功
- 第四步:使用sql语句修改密码
1 | 复制代码mysql> use mysql; |
- 第五步:重新编辑my.cnf
去掉[mysqld]后面的“skip-grant-tables”
1 | 复制代码[root@VM_0_17_centos bin]# vim /etc/my.cnf |
重启mysql
1 | 复制代码[root@VM_0_17_centos bin]# /etc/init.d/mysql restart |
- 设置mysql远程登录
先本地登录mysql
1 | 复制代码[root@localhost bin]# ./mysql -uroot -p |
- 1.报错
突然报错
1 | 复制代码ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement. |
1 | 复制代码mysql> use mysql |
==解决方案:需要重新修改一下密码==
1 | 复制代码mysql> alter user 'root'@'localhost' identified by '修改的密码'; |
- 2.继续配置
1 | 复制代码mysql> use mysql; |
- 3.重启mysql
1 | 复制代码[root@VM_0_17_centos bin]# service mysql restart; |
- 4.设置防火墙
a)配置防火墙开启3306端口
1 | 复制代码[root@VM_0_17_centos bin]# /sbin/iptables -I INPUT -p tcp --dport 3306-j ACCEPT |
b)临时关闭防火墙
1 | 复制代码[root@VM_0_17_centos bin]# service iptables stop |
c)永久关闭防火墙
重启后永久生效
1 | 复制代码[root@VM_0_17_centos bin]# chkconfig iptables off |
使用Navicat工具连接即可
5.部署项目
下面是将项目打包部署到服务器上面了,有空的话我会接着写下面的内容!!
- 通过打包成war文件部署
本文转载自: 掘金