CentOS 配置Java应用,并设置开机自动启动,无需内网穿透,直接上公网IPv6,DDNS
如今(尚未开通IPv6的地区除外),通过设置宽带猫(需要超级用户,怎么拿到可以百度,但大多数不准,我用的宽带猫是河北移动吉比特GM219-S<重点是有USB接口哦,有它就太方便了,hiahiahia~>,破解超级用户密码需要点技巧,我也是小白,有需要的可以私信我一起探讨)已经能很轻松的拿到公网IPv6了。有了公网IPv6就能很方便的干某些事了,比如搭建私有网盘。
本文主要记录解决公网IPv6的DDNS问题。其中本文的jar包是解析到阿里云DDNS程序包。
jar包原作者视频链接Java写的阿里域名DDNS程序 配置简单运行稳定 还可以多域名更新,在此,向原作者卡姆姬致敬!
一、CentOS自动连接WiFi
(一)连接WiFi
1、暂时连接WiFi,以便通过WiFi上传/下载
#查看ip
ip addr
#配置网卡,wlo1是我的网卡
ip link set wlo1 up
#设置要连接的WiFi的名称和密码
wpa_supplicant -B -i wlo1 -c <(wpa_passphrase “WiFi名称” “WiFi密码”)
#在wlo1上发出DHCP请求,即通过wlo1连接网络
dhclient wlo1
#测试
ping www.baidu.com
(二)安装SSH
1、安装SSH,开启远程登录CentOS
yum install openssh-server
(三)自动连接WiFi
1、开机自动连接WiFi
#安装NetworkManager
yum install -y NetworkManager
#安装NetworkManager-wifi
yum install NetworkManager-wifi
#重启
reboot
#启用无线
nmcli r wifi on
#扫描WiFi
nmcli dev wifi
#连接WiFi
nmcli dev wifi connect “WiFi名称” password “WiFi密码”
#设置开机启动
systemctl enable NetworkManager
2、nmcli其他可能用到的命令
nmcli c 显示保存的所有连接
nmcli dev 查看网络设备及其状态列表
nmcli device status 查看所有网卡设备状态
二、CentOS安装Java环境
(一)上传Java安装包
假设:
Java安装包 /usr/local/yourproject/ 需要自建
Java安装路径 /usr/local/java/jdk-17.0.2/ 需要自建
yourjar.jar包存放路径 /usr/local/yourproject/ 需要自建
config.yml存放路径 /usr/local/yourproject/ 需要自建
yourproject.service存放路径 /usr/lib/systemd/system/ 无需自建
1、用HFS
cd /usr/local/
mkdir yourproject
cd yourproject
wget http://HFS:xxxx/java.tar.gz
2、用宝塔SSH工具
直接进入目录,上传
(二)安装Java
1、创建安装目录
mkdir /usr/local/java/
2、解压至安装目录
cd /usr/local/yourproject/
tar -zxvf java.tar.gz -C /usr/local/java/
(三)设置环境变量
1、打开文件
vim /etc/profile
2、在末尾添加
# jdk-17.0.2是解压产生的,也就是Java的版本
————————————————profile起————————————————
export JAVA_HOME=/usr/local/java/jdk-17.0.2
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
————————————————profile止————————————————
3、使环境变量生效
source /etc/profile
4、添加软链接
ln -s /usr/local/java/jdk-17.0.2/bin/java /usr/bin/java
5、检查
#显示Java版本信息命令
java -version
#运行后显示如下结果
java version "17.0.2" 2022-01-18 LTS
Java(TM) SE Runtime Environment (build 17.0.2+8-LTS-86)
Java HotSpot(TM) 64-Bit Server VM (build 17.0.2+8-LTS-86, mixed mode, sharing)
三、CentOS配置java应用开机自动启动
(一)通过systemctl服务启动
该方式将Java应用的启动脚本托管给systemctl服务,通过systemctl的一系列命令配置应用的开机启动。
1、创建service
进入到系统的/usr/lib/systemd/system目录下
cd /usr/lib/systemd/system
2、添加.service文件
使用vim创建一个新文件,假设我们的项目叫yourproject
vim yourproject.service
编写yourproject.service
——————————————yourproject.service起——————————————
[Unit]
#服务描述
Description=yourproject
#当前服务在某个服务启动之后启动
After=syslog.target network.target
Wants=network.target
[Service]
#systemctl进程运行的类型,有多种类型,默认为simple通过主进程启动
#forking后台启动也就是systemctl主进程启动后会再生成一个子进程执行当前服务
Type= simple
#存放应用进程号的文件路径为绝对路径
PIDFile=/home/service/pid
# ExecStart前面是java命令的绝对路径 后面是jar包的绝对路径
ExecStart= /usr/local/java/jdk-17.0.2/bin/java -jar /usr/local/yourproject/yourjar.jar
#配置应用的停止命令
ExecStop=/bin/kill -s QUIT
Restart=always
#表示给应用分配独立的临时空间
PrivateTmp=true
#指定启动应用的用户
User=root
#指定用户的用户组
Group=root
#等待应用的启动时间,单位为秒,0表示禁用,如果在配置的时间内收到启动完成的信号,服务被认为执行失败然后自动退出
TimeoutStartSec=0
#杀掉指定进程,none表示没有进程会被杀掉,只执行stop操作
KillMode=none
[Install]
WantedBy=multi-user.target
——————————————yourproject.service止——————————————
上面的代码仅需要改三处即可:Description=后面是你自己项目的名字、ExecStart=紧跟的是jdk的绝对目录、ExecStart这一行最后一部分是jar包的绝对目录。
修改之后,按Esc键,然后输入:wq即可保存。
在配置文件中添加了TimeoutStartSec和KillMode两个参数主要是为了防止java应用程序通过systemctl启动成功后进程会被自动干掉的问题,因为我在配置的过程中碰到一个问题就是在java应用程序已经成功启动一段时间后会进程会被莫名奇妙的干掉,尝试了多种方式,比如在配置文件中加上Restart=always参数发现应用会被不停地杀掉重启不能解决根本问题,最后发现配置文件中添加TimeoutStartSec=0和KillMode=none后问题解决。
3、如果项目更改了
#先执行,使配置生效
sudo systemctl daemon-reload
#再运行,启动服务
sudo systemctl start yourproject.service
4、将应用的执行命令设置为开机自动启动
#设置开机启动
sudo systemctl enable yourproject.service
#设置开机不启动
sudo systemctl disable yourproject.service
5、手动启动/关闭/重启应用程序
#手动启动
sudo systemctl start yourproject.service
#手动关闭
sudo systemctl stop yourproject.service
#手动重启
sudo systemctl restart yourproject.service
6、检查
如果启动异常可通过systemctl status查看应用启动的状态
#查看开启状态
sudo systemctl status yourproject.service
四、写在后面的话
(一)部分命令可能没有(因为我是最小化安装的CentOS),导致需要用到的安装命令
命令 安装
ifconfig yum install net-tools.x86_64
vim yum install yum