将本地的Java或Python项目成功部署到线上,是每个开发者必须掌握的技能。而云服务器,作为这个过程中的核心载体,提供了稳定、弹性且可控的运行环境。与传统的物理服务器相比,云服务器让你在几分钟内就能获得一个纯净的Linux系统,并拥有完全的控制权。
在开始操作之前,充分的准备是成功部署的基石。
拥有一台云服务器:
选择一家云服务商(恒讯科技),根据项目需求选购一台云服务器。对于初期项目,1核2G或2核4G的配置通常足够。
操作系统建议选择CentOS 7/8或Ubuntu 20.04 LTS等稳定的Linux发行版。
配置安全组(防火墙):
这是云服务器特有的关键安全配置。你必须在控制台的安全组规则中,明确放行你的应用所需的端口。
必放端口:22 (SSH), 80 (HTTP), 443 (HTTPS)。
应用端口:如Spring Boot默认的8080,Django默认的8000,或你自定义的端口。
准备你的项目:
Java项目:通常打包成一个可执行的JAR文件(Spring Boot)或WAR文件(传统Web项目)。
Python项目:准备好所有代码文件和一个列出了所有依赖的requirements.txt文件。
连接信息:准备好云服务器的IP地址、SSH登录密码或密钥。
无论是什么语言的项目,其部署到云服务器的总体思路是相通的。
第一步:连接与传输
使用SSH工具(如Terminal, PuTTY, Xshell)连接到你的云服务器,并使用SCP或SFTP工具(如FileZilla, WinSCP)将本地打包好的项目文件上传到服务器。
bash
# SCP命令示例(在本地执行)
scp -r your-project.jar root@你的云服务器IP:/home/
第二步:环境配置
这是最核心的一步,需要在云服务器上安装项目运行所依赖的环境。
对于Java项目:安装JDK。
对于Python项目:安装Python、Pip,并建议使用虚拟环境(如venv)。
第三步:启动应用
在云服务器上运行你的项目。
# 或者使用生产级WSGI服务器,如Gunicorn
gunicorn -w 4 -b 0.0.0.0:8000 app:app
第四步:外网访问与反向代理
此时,你的应用可能只在应用端口(如8080)上运行。为了能通过80端口(HTTP)直接访问,你需要配置Nginx作为反向代理。
安装Nginx:yum install nginx -y 或 apt install nginx -y。
修改Nginx配置,将其指向你的应用。
nginx
# 在 /etc/nginx/conf.d/ 下新建 your-project.conf 文件
重启Nginx:systemctl restart nginx。
现在,通过浏览器访问你的云服务器IP,就应该能看到应用了。
为了让你的应用在云服务器上运行得更稳健,请考虑以下建议:
使用进程守护:
不要让应用在前台运行,使用systemd来托管你的Java或Python应用,实现开机自启和自动重启。
环境隔离:
使用虚拟环境(venv, conda)隔离Python项目的依赖。
使用Docker容器来打包整个Java/Python应用及其环境,实现真正的“一次构建,随处运行”。
日志管理:
确保你的应用日志被正确地输出到云服务器的特定文件中(如/var/log/yourapp.log),并定期清理和监控。
数据持久化:
如果你的应用需要数据库,可以考虑在同一云服务器上安装MySQL/Redis,或使用云服务商提供的云数据库服务,后者更稳定、免运维。
Copyright © 2013-2020. All Rights Reserved. 恒讯科技 深圳市恒讯科技有限公司 粤ICP备20052954号 IDC证:B1-20230800.移动站


