为什么选择在云服运行Java
现在很多公司做办公系统、内部管理工具,甚至小程序后端,都用Java开发。稳定、生态强、社区支持多,是大家坚持用它的理由。但本地跑程序总有局限,比如同事一多就卡,或者下班关电脑别人就用不了。这时候把Java项目扔到云服务器上跑,就成了最直接的解法。
比如财务部门每天要用的报销审核工具,以前只在老王的电脑上跑着,他一休假整个流程就停摆。后来搬到云服上,谁都能访问,再也不怕关键人不在岗了。
准备一台云服务器
主流平台像阿里云、腾讯云,买个入门级的轻量应用服务器就行,Linux系统优先选Ubuntu或CentOS。买完拿到公网IP和登录密码,就可以连上去操作了。
安装Java环境
登录服务器后第一件事是装JDK。以Ubuntu为例:
sudo apt update
sudo apt install openjdk-17-jdk -y装完检查一下版本:
java -version看到输出带版本号就说明没问题了。
上传并运行你的Java程序
假设你有个打包好的Spring Boot项目,叫office-tools.jar。可以用scp命令从本地传过去:
scp office-tools.jar root@你的云服IP:/root/传完回到服务器执行启动命令:
nohup java -jar office-tools.jar > app.log 2>&1 &这个命令的意思是后台运行程序,输出日志写进app.log,断开SSH也不会停。
让服务一直活着
光这样还不够稳。万一程序崩溃了,总不能每次都手动重启。可以用systemd写个服务文件:
<code>[Unit]
Description=Office Tools Java App
After=network.target
[Service]
Type=simple
User=root
ExecStart=/usr/bin/java -jar /root/office-tools.jar
Restart=always
StandardOutput=journal
StandardError=journal
[Install]
WantedBy=multi-user.target</code>把这个存成 /etc/systemd/system/office-tools.service,然后执行:
sudo systemctl daemon-reload
sudo systemctl start office-tools
sudo systemctl enable office-tools现在就算程序挂了,系统也会自动拉起来。
开放端口让同事能访问
默认云服防火墙是锁住的。比如你的Java服务跑在8080端口,得去云控制台安全组里放行这个端口。不同厂商界面不一样,但关键词都是“入方向规则”、“添加端口”。加完同事就能用 http://你的IP:8080 打开系统了。
如果不想暴露端口号,可以配合Nginx反向代理,把80端口转给8080,这样输入IP地址直接进系统,看着也干净。
日常维护小贴士
定期看下日志有没有报错:
tail -f /root/app.log内存不够用了?可以调JVM参数:
java -Xms512m -Xmx1024m -jar office-tools.jar还能结合crontab每天凌晨自动备份日志,避免磁盘撑爆。
这些操作看起来零碎,但走一遍就顺了。现在团队里的工具能随时访问,更新也不用挨个通知,直接在服务器换jar包就行。省下的时间,够多喝两杯咖啡了。