由于最近购置了多台linux云服务器,总是要进行频繁的搭建网页服务,作为java工程师对于这些搭建环节总是不够熟练且遇到了很多坑,所以就下定决心作此文以供留档。
准备环境
- 云服务器(CentOS 6.8)
- jdk-8u201-linux-x64.tar.gz
下载地址 - apache-tomcat-8.5.38.tar.gz
下载地址 - mysql-5.6.43-linux-glibc2.12-x86_64.tar.gz
下载地址(不推荐使用该下载地址进行MySQL的安装,推荐使用yum安装,详情请见文中MySQL介绍部分)
一、jdk
1.准备环节
这里,我在usr目录下创建一个java文件夹
cd /usr
mkdir java
将tar.gz的压缩包放到/usr/java路径下
并执行解压命令
tar -xzvf jdk-8u201-linux-x64.tar.gz
于是我们就得到了JAVA_HOME的地址:/usr/java/jdk1.8.0_201
2.配置环境变量
vim /etc/profile
通过vim命令得到文件内的所有内容,输入i之后进入编辑模式,在文末添加如下信息:
JAVA_HOME=/usr/java/jdk1.8.0_201
CLASSPATH=$JAVA_HOME/lib/
PATH=$PATH:$JAVA_HOME/bin
export PATH JAVA_HOME CLASSPATH
确认上述内容添加无误后,按ESC键退出vim的编辑模式。输入冒号进入命令模式,最后敲wq之后回车,表示保存更改并退出。
3.配置生效
我们之前做的工作仅仅只是将java环境变量写入配置文件中,但是并没有真正生效,若要生效就得重启服务器或者刷新一下配置文件。一般情况下,我们采用后者比较便捷。
source /etc/profile
4.检验java配置结果
java -version
若出现如下截图内容,则说明安装成功:
二、Tomcat部署
1.准备环节
个人习惯将Tomcat放在/usr/local路径下,于是我将tar.gz包放在对应路径下并进行解压得到tomcat
cd /usr/local
tar -xzvf apache-tomcat-8.5.38.tar.gz
得到apache-tomcat-8.5.38的文件夹,由于使用的是默认端口8080,我暂时将该文件夹重命名为tomcat_8080
mv apache-tomcat-8.5.38 tomcat_8080
2.进行启动
接下来,我们进入到tomcat_8080文件夹中的bin目录中,直接执行启动命令,测试启动结果
cd /usr/local/tomcat_8080/bin
./startup.sh
3.测试结果
无任何返回信息即表示启动正常,但是要验证tomcat是否真正启动成功了,还是要看到tomcat的熟悉启动页才能算。由于我们目前是在云服务器中,需要在安全组中配置8080端口的出/入方向。
在这里,我们就能看到tomcat启动成功了,这就是我们的第一个tomcat服务。还是比较简单的吧,接下来我们进入进阶模式,尝试在同一台服务器上部署多个tomcat服务。
接下来,我们在/usr/local路径下准备好三个tomcat,直接将tar.gz包进行解压三次,并进行文件夹规范命名,参照上文中的[Tomcat部署 -> 准备环节]。
算上我们最先部署成功的8080端口Tomcat,目前我们有4个Tomcat啦。当然,另外三个Tomcat仅仅只是压缩包的复制而已,里面的配置都还是默认配置,接下来我们开始改造。
- 1.关注/etc/profile文件
vim /etc/profile
增加以下内容,表示将各个tomcat对应的目录暴露出去:
export CATALINA_HOME=/usr/local/tomcat_8080
export CATALINA_BASE=/usr/local/tomcat_8080
export TOMCAT_HOME=/usr/local/tomcat_8080
export CATALINA_HOME2=/usr/local/tomcat_8081
export CATALINA_BASE2=/usr/local/tomcat_8081
export TOMCAT_HOME2=/usr/local/tomcat_8081
export CATALINA_HOME3=/usr/local/tomcat_8082
export CATALINA_BASE3=/usr/local/tomcat_8082
export TOMCAT_HOME3=/usr/local/tomcat_8082
export CATALINA_HOME4=/usr/local/tomcat_8083
export CATALINA_BASE4=/usr/local/tomcat_8083
export TOMCAT_HOME4=/usr/local/tomcat_8083
保存该文件之后,执行配置文件的加载命令才会实际生效:
source /etc/profile
- 2.找到对应tomcat-conf目录下的server.xml文件,修改对应端口号
着重关注三个端口位置,
修改port属性为+1 即如果之前有8005 则变为8006 该端口为关闭端口 以端口不占用为前提即可
<Server port="8005" shutdown="SHUTDOWN">
port属性上同 该端口对应的就是实际访问的端口映射 目前默认的为8080 若占用 则+1 设置为8081 或选择自己想要设置的访问端口
<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
port属性上同 目前默认的为8009 若占用 则+1 设置为8010
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
由于之前我们启动的8080端口tomcat已经把默认8005,8080,8009端口都占用了,所以我们后面三个tomcat对应的端口都顺延+1即可。
即tomcat_8081 的三个端口分别为8006,8081,8010
tomcat_8082 的三个端口分别为8007,8082,8011
tomcat_8083 的三个端口分别为8008,8083,8012
- 3.找到对应tomcat bin目录下的catalina.sh文件,这里我使用的是以8081端口的tomcat为例,在红框注释下方添加如下内容,我特地加了一句自己的注解# myself:add
export CATALINA_BASE=$CATALINA_BASE2
export CATALINA_HOME=$CATALINA_HOME2
其中$CATALINA_BASE2这个值要对应上文/etc/profile文件中设置的tomcat对应目录,另外的tomcat同理。
需要注意第一个我们启动正常的默认配置8080端口tomcat就不需要进行设置第3步操作。
执行完以上操作,你就能正常启动另外的三个tomcat了。
记录一个意外的问题产生:使用以上步骤进行启动tomcat发现无法正常启动,通过查阅资料最终在Stack Overflow上发现了解决方案:
作者的意思是需要找到jdk目录下的java.security文件,修改相应的内容就能够正常启动了。而且将之归咎于’bug of JDK’,具体原因未知,不过亲测有用。
三、MySQL
1.准备环节
原计划使用tar.gz的mysql压缩包的安装方式,后来遇到了很多坑。于是采用yum的云端安装方式,这里我用mysql5.6版本作为示例进行安装。
由于之前尝试过tar.gz的安装,导致了服务器有残留的mysql环境,所以接下来进行环境清空:
rm -rf /var/lib/mysql
rm /var/lock/subsys/mysqld
killall mysqld
执行以上三条命令,残留环境清除完毕。正式进入yum安装步骤。
2.yum安装mysql 5.6
如果不确定服务器是否安装过其他版本的mysql,我们可以检查一下:
yum list installed|grep mysql
若有返回值,则进行删除命令:
yum -y remove 返回值
- 安装配置
wget http://repo.mysql.com/mysql-community-release-el6-5.noarch.rpm
rpm -ivh mysql-community-release-el6-5.noarch.rpm
yum repolist all | grep mysql
- 安装MySQL
yum install mysql-community-server -y
- 设置开机启动
chkconfig --list | grep mysqld
chkconfig mysqld on
- 启动/设置账号
启动命令如下:
service mysqld start
设置root账号/密码,执行以下命令时请注意看接下来的操作提示,例如是否开启远程访问等
mysql_secure_installation
设置完登录密码之后,就可以用root账号登录了
mysql -uroot -p
若还遇到了本地连接正常,但是远程连接失败的情况,请检查云服务器的安全组是否开放了3306端口,或者也可以尝试如下命令进行建立远程root用户。注意以下命令需要登入mysql进行执行
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '你设置的密码' WITH GRANT OPTION;
mysql> flush privileges;
以上就是MySQL的yum安装步骤了,其中经历了压缩包安装mysql到yum安装的转变,也遇到了不少坑,我都将他们浓缩在此文中了。
四、总结
通过亲自安装服务器环境,发现了自己的很多问题,诸如不熟练,经常要搜索资料的情况。所以通过该文的总结也挖掘出了很多有意思的解决方案,希望能够为各位读者在遇到相同的问题时提供解决方案,也希望自己能够更加熟练操作,通过tar.gz安装包的安装方式与yum安装方式的对比后,发现yum安装更加便捷,但是源于本身对yum的安装步骤不是很熟悉,所以今后在总结好之后再单独介绍一下yum安装的原理和具体操作步骤。