欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  网络运营

在Linux上部署项目(简略篇)

程序员文章站 2022-07-10 21:22:37
前言这几天我在服务器上部署老项目,其实还挺费劲的,说白了也就是两台服务器之间的文件传输及配置问题。对我一个初学Linux的人来说,也是有点难度的。也算是长记性了。简单Linux命令首先来复习一下linux的基础命令吧。...

前言
        这几天我在服务器上部署老项目,其实还挺费劲的,说白了也就是两台服务器之间的文件传输及配置问题。对我一个初学Linux的人来说,也是有点难度的。也算是长记性了。

简单Linux命令

        首先来复习一下linux的基础命令吧。
        好比两台服务器:
                老服务器:10.25.12.188
                新服务器:10.25.7.169

1、cd: 切换文件夹
	    例:cd  /usr/local
2、cp:复制文件
		例:cp /usr/local/a.txt /usr/
3、scp:跨服务器复制文件
		例:scp -r root@10.25.12.188:/usr/local/a.txt  /usr/local/a.text
		注:-r代表递归复制整个目录
4、ls:查看当前目录
		例:ls
5、chmod:修改权限
		例:chmod 777 /usr/java
6、ps -ef | grep tomcat
		说明:查看tomcat服务
7、vim :可以打开文件并做修改
		直接输入以下命令
			i:可以对文件进行编辑
			esc:退出编辑
			::启用末行模式
		在末行模式下输入:
			q:退出
			q!:强制退出
			wq:保存退出

环境搭建

        当然是在新的服务器上搭建环境了。不说也应该知道,项目部署中用到tomcat,其tomcat又依赖于jdk,所以,我们可以先将环境搭建好,再去说其他的。首先需要看老项目中使用的jdk版本,一般在tomcat附近都可找得到,说道这里,我们可以复制老项目中的jdk。

[root@xjxx-wwapp bin]# scp -r root@10.25.12.188:/usr/java/jdk1.8.0_131/  /usr/java/jdk1.8.0_131/

        除了这个办法,我们还可以用其他办法复制,如下载winscp,利用图形操作界面进行复制。具体复制方法参见:如何用WinSCP切换到root用户
        复制好了以后,我们要进行环境变量的配置,打开/etc/profile文件,在文件末尾添加如下配置

unset i
unset -f pathmunge
#在此处进行添加,JAVA_HOME要用你的jdk路径
export JAVA_HOME=/usr/java/jdk1.8.0_131
export CLASSPATH=.:JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin

        然后需要让配置生效,使用如下命令即可生效。

source /etc/profile

完毕之后可以用命令测试一下是否配置成功

[root@xjxx-wwapp bin]# java -version	(出现类似于下面信息说明配置成功)
openjdk version "1.8.0_181"
OpenJDK Runtime Environment (build 1.8.0_181-b13)
OpenJDK 64-Bit Server VM (build 25.181-b13, mixed mode)

        接下来我们该复制tomcat了,把老项目的tomcat按照原来的路径复制下来即可。如果想要直接去官网下载tomcat的linux版本也可。tomcat官网
在Linux上部署项目(简略篇)
在Linux上部署项目(简略篇)
在Linux上部署项目(简略篇)
在Linux上部署项目(简略篇)
        点击下载即可
        然后我们尝试着去启动tomcat,首先我们进入tomcat的bin目录,执行如下命令

1、查看tomcat服务
	[root@xjxx-wwapp bin]# ps -ef | grep tomcat	
	root     10856  6002  0 15:12 pts/1    00:00:00 grep --color=auto tomcat(这个结果是未启动tomcat)
2、启动tomcat服务
	[root@xjxx-wwapp bin]# ./startup.sh 	
	Using CATALINA_BASE:   /usr/local/apache-tomcat-7.0.96
	Using CATALINA_HOME:   /usr/local/apache-tomcat-7.0.96
	Using CATALINA_TMPDIR: /usr/local/apache-tomcat-7.0.96/temp
	Using JRE_HOME:        /usr/java/jdk1.8.0_131/jre
	Using CLASSPATH:       /usr/local/apache-tomcat-7.0.96/bin/bootstrap.jar:/usr/local/apache-tomcat-7.0.96/bin/tomcat-juli.jar
	Tomcat started.(启动)
3、查看tomcat服务是否启动成功
	[root@xjxx-wwapp bin]# ps -ef | grep tomcat 
	root     10877     1 20 15:13 pts/1    00:00:35 /usr/java/jdk1.8.0_131/bin/java -Djava.util.logging.config.file=/usr/local/apache-tomcat-7.0.96/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djdk.tls.ephemeralDHKeySize=2048 -Dignore.endorsed.dirs= 
	-classpath /usr/local/apache-tomcat-7.0.96/bin/bootstrap.jar:/usr/local/apache-tomcat-7.0.96/bin/tomcat-juli.jar -Dcatalina.base=/usr/local/apache
	-tomcat-7.0.96 -Dcatalina.home=/usr/local/apache-tomcat-7.0.96 -Djava.io.tmpdir=/usr/local/apache-tomcat-7.0.96/temp org.apache.catalina.startup.Bootstrap start
	root     11379  6002  0 15:16 pts/1    00:00:00 grep --color=auto tomcat
(出现如上情况,说明tomcat已经启动了)

        如果想停掉tomcat的话,可以在tomcat的bin目录下执行./shutdown.sh,可有些时候停不了,再次查看tomcat服务还是在运行中,那么我们就可以用kill命令杀死进程,如下:

1、用shutdown来关闭tomcat
	[root@xjxx-wwapp bin]# ./shutdown.sh 
	Using CATALINA_BASE:   /usr/local/apache-tomcat-7.0.96
	Using CATALINA_HOME:   /usr/local/apache-tomcat-7.0.96
	Using CATALINA_TMPDIR: /usr/local/apache-tomcat-7.0.96/temp
	Using JRE_HOME:        /usr/java/jdk1.8.0_131/jre
	Using CLASSPATH:       /usr/local/apache-tomcat-7.0.96/bin/bootstrap.jar:/usr/local/apache-tomcat-7.0.96/bin/tomcat-juli.jar
2、查看tomcat是否关闭
	[root@xjxx-wwapp bin]# ps -ef | grep tomcat
	root     10805  6002  0 15:12 pts/1    00:00:00 grep --color=auto tomcat
	root     30858     1  1 10:22 ?        00:05:12 /usr/java/jdk1.8.0_131/bin/java -Djava.util.logging.config.file=/usr/local/apache-tomcat-7.0.96/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djdk.tls.ephemeralDHKeySize=2048 -Dignore.endorsed.dirs= 
	-classpath /usr/local/apache-tomcat-7.0.96/bin/bootstrap.jar:/usr/local/apache-tomcat-7.0.96/bin/tomcat-juli.jar -Dcatalina.base=/usr/local/apache
	-tomcat-7.0.96 -Dcatalina.home=/usr/local/apache-tomcat-7.0.96 -Djava.io.tmpdir=/usr/local/apache-tomcat-7.0.96/temp org.apache.catalina.startup.Bootstrap start
3、发现并没有关闭掉,那么我们就只能采取强制措施了,注意端口号
	[root@xjxx-wwapp bin]# kill -9 30858
4、再次查看tomcat是否关闭
[root@xjxx-wwapp bin]# ps -ef | grep tomcat
	root     10856  6002  0 15:12 pts/1    00:00:00 grep --color=auto tomcat

        如果不出意外,大概率是可以用浏览器访问到项目的,可是结果往往不按照你的想法走。这时候出现的问题大概是这个样子的,tomcat已经起来了,但是,浏览器却访问不到。这个原因我们需要排查一下,首先打开cmd输入如下命令,此命令查看是否可将服务器的8080开通,如果没有开通,我是联系了信息中心的人,帮我开通一下。如果没有开通,他会显示连接失败的提示,而且还很慢。

telnet 10.25.12.188 8080

        开通后继续测试,如果可以用浏览器访问,那么久不用往下看了,反之如果还是行不通,那么可能是防火墙策略的问题,网上说了很多方法,如输入如下命令“:

1、检测防火墙是否开启
	[root@xjxx-wwapp bin]# firewall-cmd --state
	出现running说明正在运行
2、检查8080端口是否被防火墙开启
	[root@xjxx-wwapp bin]# firewall-cmd --permanent --zone=public --list-ports
	如果出现8080/tcp说明8080端口已被开启
3、如果8080端口没有被开启,那么请开启8080端口
	[root@xjxx-wwapp bin]# firewall-cmd --zone=public --add-port=8080/tcp --permanent
	出现success说明开启成功
4、重新启动防火墙
	[root@xjxx-wwapp bin]# firewall-cmd --reload
	出现success说明开启成功
5、验证开启的8080端口是否生效
	[root@xjxx-wwapp bin]# firewall-cmd --zone=public --query-port=8080/tcp
	出现yes说明已经生效

        做完上述步骤,那么我们可以再试试看行不行得通。如果还行不通,请往下看。
        我们可以创建新的firewalld服务,亲测可用,贼有效果。步骤如下:

1、复制/usr/lib/firewalld/services目录中的ssh.xml到/etc/firewalld/services目录(该目录是用户创建的服务的位置)并修改文件设置。
	[root@xjxx-wwapp bin]# cp /usr/lib/firewalld/services/ssh.xml /etc/firewalld/services/tomcatserver.xml
2、打开tomcatserver.xml
	<?xml version="1.0" encoding="utf-8"?>
	<service version="1.0">
	<short>plexmediaserver</short>
	<description>Plex is a streaming media server that brings all your video, music and photo collections together and stream them to your devices at anytime and from anywhere.</description>
	<port protocol="tcp" port="22"/>
	<!--添加新的tcp端口号-->
	<port protocol="tcp" port="8080"/>
	</service>
	------------------------------------------然后用末行模式保存
3、保存后重新启动防火墙
	[root@xjxx-wwapp bin]# firewall-cmd --reload
4、最后重启tomcat

        到此为止再测试一下,基本就差不多了。如果对防火墙Firewalld配置有兴趣的,可以看一下这篇文章:如何在Centos7上使用Firewalld设置防火墙

本文地址:https://blog.csdn.net/qq_41702466/article/details/107340920