如何在linux系统进行项目发布
一. 上传及下载文件
1.安装及使用lrzsz
2.上传
rz
3.下载
sz 文件名
二. 上传jdk和tomcat的安装文件到指定文件夹
mkdir /usr/local/mytools
注1:安装见资料
apache-tomcat-8.5.20.tar.gz
jdk-8u151-linux-x64.tar.gz
3. linux压缩和解压命令
tar压缩命令
tar压缩命令为 tar -zcvf 压缩名.tar.gz 文件/目录
tar解压命令为 tar -zxvf 压缩包名
zip文件
zip压缩命令 zip -q -r 压缩包名.zip 目录/文件名
zip -r xxx.zip ./*
zip解压命令 unzip filename.zip
三. linux中JDK的安装与配置
1.操作:解压jdk
cd /usr/local/mytools
tar -zxvf jdk-8u151-linux-x64.tar.gz -C /usr/local 解压到指定文件夹
注1:在解压的时候 -C 是解压到指定目录中,一定要加-C参数,而且区分大小写的,-_- 555555555555555,“很痛的很痛的很痛的领悟”
注2:&&可将多条命令合成一行
cd /usr/local/mytools && tar -zxvf jdk-8u151-linux-x64.tar.gz -C /usr/local
2.操作:配置jdk的环境变量
vim /etc/profile
#打开配置文件并在文件的最后添加如下内容(注意:=两边没有空格)
export JAVA_HOME=/usr/local/jdk/jdk1.8.0_151
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$JAVA_HOME/bin:$PATH
3.重启系统使环境变量生效
reboot
#执行如下命令,也可以让环境变量生效
**source /etc/profile**
4.查看环境变量是否配置成功
java -version
四. tomcat安装与配置
1.解压tomcat到指定路径
cd /usr/local/mytools
tar -zxvf apache-tomcat-8.5.20.tar.gz -C /usr/local
2.解压完成后进入tomcat的bin目录
cd /usr/local/apache-tomcat-8.5.20/bin
3.启动或关闭tomcat
cd /usr/local/apache-tomcat-8.5.20/bin -----打开解压的文件里面的bin
./startup.sh ------启动
./shutdown.sh -----关闭
注1:如何查看远程服务器的日志
cd /usr/local/apache-tomcat-8.5.20/logs
tail -f catalina.out
#实时查看日志文件
tail -100f catalina.out -------- #实时查看日志文件后一百行
注2:tomcat启动后,外部浏览器无法访问,原因:防火墙中8080端口未开放,防火墙的开启详情见:
附录一:CentOS7防火墙查询、启动和关闭
CentOS 7.0默认使用的是firewall作为防火墙
1.查看防火墙状态
firewall-cmd --state
2.停止firewall
systemctl stop firewalld.service
3.禁止firewall开机启动
systemctl disable firewalld.service
附录二:
附录五:CentOS 7快速开放端口
CentOS7防火墙firewalld默认是开启的,下面记录如何使用firewalld开放Linux端口:
开启端口
firewall-cmd --zone=public --add-port=8080/tcp --permanent
删除指定端口
firewall-cmd --zone=public --remove-port=8080/tcp --permanent
查询指定端口号是否开启:
firewall-cmd --query-port=8080/tcp
重启防火墙(不重启以上的设置是不会生效的):
firewall-cmd --reload
查询有哪些端口是开启的:
firewall-cmd --list-port
命令含义:
–zone #作用域
–add-port=8080/tcp #添加端口,格式为:端口/通讯协议
–permanent #永久生效,没有此参数重启后失效
ESC服务器-安全组规则
–以上步骤完成后,还是无法发布项目的
4.添加管理员、密码、权限
cd /usr/local/apache-tomcat-8.5.20/conf
vim tomcat-users.xml
然后在<tomcat-users标签中插入以下内容(即添加管理员、密码、权限)
<role rolename="manager-gui"/>
<user username="admin" password="123" roles="manager-gui"/>
5.允许admin远程访问tomcat
此步骤完成后manager应用仍然会拒绝访问,因为tomcat8.5以后在manager应用中,默认只允许本机访问
cd /usr/local/apache-tomcat-8.5.20/webapps/manager/META-INF
vim context.xml
将Valve标签注释即可
<Context antiResourceLocking="false" privileged="true" >
<!--将下面的一行代码注释即可
<Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />
-->
<Manager sessionAttributeValueClassNameFilter="java\.lang\.(?:Boolean|Integer|Long|Number|String)|org\.apache\.catalina\.filters\.CsrfPreventionFilter\$LruCache(?:\$1)?|java\.util\.(?:Linked)?HashMap"/>
</Context>
6.将tomcat端口号port="8080"改为80(可改可不改因为8080端口配置完之后需要关闭)
cd /usr/local/java/apache-tomcat-8.5.20/conf
vim server.xml
<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
7.重启tomcat,使修改生效
/usr/local/apache-tomcat-8.5.20/bin
./shutdown.sh
9.通过admin用户远程发布web项目,例如:hello.war
五.Centos7下设置Tomcat开机自启动
1.systemctl命令
查看全部服务命令:systemctl list-unit-files --type service ctrl+c可以回到命令输入
查看服务:systemctl status 服务名.service
启动服务:systemctl start 服务名.service
停止服务:systemctl stop 服务名.service
重启服务:systemctl restart 服务名.service
增加开机启动:systemctl enable 服务名.service
删除开机启动:systemctl disable 服务名.service
注1:后缀.service可以省略
2.tomcat增加启动参数
1).tomcat需要增加一个pid文件(注意:此文件由系统自动创建,我们只需要指定此文件的位置即可)
tomcat.pid文件与bin目录平级。
2).在tomca/bin目录下面,增加setenv.sh配置,catalina.sh启动的时候会调用,同时配置Java内存参数
在setenv.sh增加以下内容:
#add tomcat pid
CATALINA_PID="$CATALINA_BASE/tomcat.pid"
#add java opts
JAVA_OPTS="-server -XX:PermSize=256M -XX:MaxPermSize=1024m -Xms512M -Xmx1024M -XX:MaxNewSize=256m"
3.在/usr/lib/systemd/system目录下创建tomcat.service文件
cd /usr/lib/systemd/system
touch tomcat.service
Vim tomcat.service
###注意:请将jdk和tomcat改为自己的安装路径
###/usr/local/jdk1.8.0_151改为自己的jdk路径
###/usr/local/apache-tomcat-8.5.20改为自己的tomcat路径
###Environment="JAVA_HOME=/usr/local/jdk1.8.0_151"这里要配置环境变量,在/etc/profile中的配置在系统服务中不生效
###[unit]配置了服务的描述,规定了在network启动之后执行。[service]配置服务的pid,服务的启动,停止,重启
###[install]配置了使用用户
[Unit]
Description=Tomcat
After=syslog.target network.target remote-fs.target nss-lookup.target
[Service]
Type=forking
Environment="JAVA_HOME=/usr/local/jdk1.8.0_151"
PIDFile=/usr/local/apache-tomcat-8.5.20/tomcat.pid
ExecStart=/usr/local/apache-tomcat-8.5.20/bin/startup.sh
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true
[Install]
WantedBy=multi-user.target
注1:详情见:资料/tomcat.service
4.配置开机启动
systemctl enable tomcat.service
5.reboot重启系统即可访问tomcat
然后访问虚拟机查看服务:systemctl status 服务名.service是否自动开启
附录三:
- SSH是什么?
ssh是一种安全协议,主要用于给远程登录会话数据进行加密,保证数据传输的安全 - SSH分为客户端和服务端。
服务端是一个守护进程,一般是sshd进程,在后台运行并响应来自客户端的请求。提供了对远程请求的处理,一般包括公共密钥认证、密钥交换、对称密钥加密和非安全连接 - 工作机制
3.1 客户端发送一个连接请求到远程服务端
3.2 服务端检查申请的包和IP地址,再发送密钥给SSH客户端;
3.3 客户端再将密钥发回服务端,自此建立连接
附录四:
Linux 软件安装到 /usr,/usr/local/ 还是 /opt 目录?
- /usr:系统级的目录,可以理解为C:/Windows/,/usr/lib理解为C:/Windows/System32。
- /usr/local:用户级的程序目录,可以理解为C:/Progrem Files/。用户自己编译的软件默认会安装到这个目录下。
- /opt:用户级的程序目录,可以理解为D:/Software,opt有可选的意思,这里可以用于放置第三方大型软件(或游戏),当你不需要时,直接rm -rf掉即可。
在硬盘容量不够时,也可将/opt单独挂载到其他磁盘上使用。