文章目录
- 从零开始:Linux服务器环境搭建与项目部署全攻略(Python/Java实战)
从零开始:Linux服务器环境搭建与项目部署全攻略(Python/Java实战)
前言
本指南专为零基础用户设计,从Linux服务器初始环境配置到Python和Java项目的完整部署流程,提供一步一指令的傻瓜式操作说明,帮助你轻松完成服务器项目部署。
一、服务器准备工作
1. 连接服务器
使用SSH工具连接到你的Linux服务器(以CentOS 7为例):
# 替换为你的服务器IP地址
ssh root@你的服务器IP地址
# 首次连接会提示确认,输入yes后按回车
# 然后输入服务器root密码(输入时不会显示)
2. 系统更新与基础工具安装
# 更新系统软件包
yum update -y
# 安装常用工具
yum install -y wget vim net-tools unzip zip
二、Python项目部署环境搭建
1. 安装Python及相关工具
# 安装Python3
yum install -y python3 python3-pip
# 验证安装
python3 -V # 查看Python版本
pip3 -V # 查看pip版本
# 升级pip
pip3 install --upgrade pip
2. 安装虚拟环境(推荐)
# 安装虚拟环境工具
pip3 install virtualenv virtualenvwrapper
# 配置虚拟环境
echo "export WORKON_HOME=~/.virtualenvs" >> ~/.bashrc
echo "export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3" >> ~/.bashrc
echo "source /usr/local/bin/virtualenvwrapper.sh" >> ~/.bashrc
# 使配置生效
source ~/.bashrc
# 创建并激活虚拟环境(假设项目名为my_python_project)
mkvirtualenv my_python_project
# 激活后命令行前会显示环境名称,退出使用 deactivate
# 再次使用时可以用 workon my_python_project
3. 安装Python Web服务器(以Gunicorn为例)
# 在虚拟环境中安装
pip install gunicorn
# 安装Nginx作为反向代理
yum install -y nginx
# 启动Nginx并设置开机自启
systemctl start nginx
systemctl enable nginx
三、Java项目部署环境搭建
1. 安装JDK
# 安装OpenJDK 11
yum install -y java-11-openjdk java-11-openjdk-devel
# 验证安装
java -version
javac -version
2. 安装Maven(项目构建工具)
# 下载Maven
wget https://archive.apache.org/dist/maven/maven-3/3.8.5/binaries/apache-maven-3.8.5-bin.tar.gz
# 解压
tar -zxvf apache-maven-3.8.5-bin.tar.gz -C /usr/local/
# 重命名
mv /usr/local/apache-maven-3.8.5 /usr/local/maven
# 配置环境变量
echo "export MAVEN_HOME=/usr/local/maven" >> ~/.bashrc
echo "export PATH=$PATH:$MAVEN_HOME/bin" >> ~/.bashrc
# 使配置生效
source ~/.bashrc
# 验证安装
mvn -v
3. 安装Tomcat(可选,用于Java Web项目)
# 下载Tomcat 9
wget https://archive.apache.org/dist/tomcat/tomcat-9/v9.0.65/bin/apache-tomcat-9.0.65.tar.gz
# 解压
tar -zxvf apache-tomcat-9.0.65.tar.gz -C /usr/local/
# 重命名
mv /usr/local/apache-tomcat-9.0.65 /usr/local/tomcat
# 启动Tomcat
/usr/local/tomcat/bin/startup.sh
# 查看是否启动成功
netstat -tlnp | grep 8080
四、部署Python项目实战
1. 上传项目代码
# 方法1:使用scp在本地终端上传(在本地电脑执行)
scp -r 本地项目路径 root@服务器IP:/root/
# 方法2:在服务器上使用git克隆(如果项目在GitHub上)
yum install -y git
git clone 你的项目仓库地址
2. 安装项目依赖
# 进入项目目录
cd /root/你的项目目录
# 确保已激活虚拟环境
workon my_python_project
# 安装依赖
pip install -r requirements.txt
3. 配置Gunicorn和Nginx
# 创建Gunicorn启动脚本
vim start.sh
# 输入以下内容(根据实际情况修改)
#!/bin/bash
cd /root/你的项目目录
exec gunicorn -w 4 -b 127.0.0.1:8000 项目入口文件名:app
# 保存退出(按ESC,输入:wq,回车)
# 赋予执行权限
chmod +x start.sh
# 配置Nginx
vim /etc/nginx/conf.d/my_python_project.conf
# 输入以下内容
server {
listen 80;
server_name 你的域名或服务器IP;
location / {
proxy_pass http://127.0.0.1:8000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}
# 保存退出
# 检查Nginx配置是否正确
nginx -t
# 重启Nginx
systemctl restart nginx
4. 启动项目并设置开机自启
# 启动项目
./start.sh
# 创建系统服务,实现开机自启
vim /etc/systemd/system/my_python_project.service
# 输入以下内容
[Unit]
Description=My Python Project
After=network.target
[Service]
User=root
WorkingDirectory=/root/你的项目目录
ExecStart=/root/.virtualenvs/my_python_project/bin/gunicorn -w 4 -b 127.0.0.1:8000 项目入口文件名:app
Restart=always
[Install]
WantedBy=multi-user.target
# 保存退出
# 启动服务并设置开机自启
systemctl start my_python_project
systemctl enable my_python_project
# 查看服务状态
systemctl status my_python_project
五、部署Java项目实战
1. 上传并编译项目
# 上传项目(以Spring Boot项目为例)
scp 本地项目jar包路径 root@服务器IP:/root/
# 或者使用git克隆源码后编译
git clone 你的Java项目仓库地址
cd 项目目录
mvn clean package -Dmaven.test.skip=true
2. 运行Java项目
# 直接运行(前台运行,关闭终端则停止)
java -jar 项目文件名.jar
# 后台运行
nohup java -jar 项目文件名.jar > app.log 2>&1 &
# 查看进程
ps -ef | grep java
3. 配置Nginx反向代理(可选)
# 创建Nginx配置文件
vim /etc/nginx/conf.d/my_java_project.conf
# 输入以下内容
server {
listen 80;
server_name 你的域名或服务器IP;
location / {
proxy_pass http://127.0.0.1:8080; # 假设Java项目运行在8080端口
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}
# 保存退出
# 检查并重启Nginx
nginx -t
systemctl restart nginx
4. 设置开机自启
# 创建系统服务
vim /etc/systemd/system/my_java_project.service
# 输入以下内容
[Unit]
Description=My Java Project
After=network.target
[Service]
User=root
WorkingDirectory=/root/你的项目目录
ExecStart=/usr/bin/java -jar 项目文件名.jar
Restart=always
[Install]
WantedBy=multi-user.target
# 保存退出
# 启动服务并设置开机自启
systemctl start my_java_project
systemctl enable my_java_project
# 查看服务状态
systemctl status my_java_project
六、服务器安全配置
1. 防火墙设置
# 查看防火墙状态
systemctl status firewalld
# 启动防火墙
systemctl start firewalld
systemctl enable firewalld
# 开放常用端口
firewall-cmd --zone=public --add-port=80/tcp --permanent # HTTP
firewall-cmd --zone=public --add-port=443/tcp --permanent # HTTPS
firewall-cmd --zone=public --add-port=22/tcp --permanent # SSH
firewall-cmd --zone=public --add-port=8080/tcp --permanent # Java项目常用
# 重新加载防火墙规则
firewall-cmd --reload
# 查看已开放端口
firewall-cmd --zone=public --list-ports
2. 创建普通用户(不建议一直使用root)
# 创建用户
useradd appuser
# 设置密码
passwd appuser
# 赋予sudo权限
usermod -aG wheel appuser
七、注意事项
-
端口占用问题:如果启动项目时提示端口被占用,使用
netstat -tlnp | grep 端口号查看占用进程,再用kill -9 进程ID结束进程。 -
日志查看:项目运行异常时,及时查看日志定位问题
- Python项目:
journalctl -u my_python_project - Java项目:
tail -f app.log或journalctl -u my_java_project
- Python项目:
-
定期备份:重要数据和配置文件要定期备份
# 示例:备份项目目录 tar -zcvf project_backup_$(date +%Y%m%d).tar.gz /root/你的项目目录 -
安全更新:定期更新系统和依赖包,修复安全漏洞
yum update -y -
环境隔离:不同项目尽量使用独立的环境,避免依赖冲突
-
避免明文密码:配置文件中的密码等敏感信息不要明文存储
八、总结
通过本指南,你已经掌握了从Linux服务器环境搭建到Python和Java项目部署的完整流程。核心步骤包括:
- 服务器初始化与基础工具安装
- 对应语言环境的搭建(Python虚拟环境/JDK+Maven)
- 项目上传与依赖安装
- 服务配置与启动
- 安全设置与开机自启配置
实际部署中,可能需要根据具体项目需求进行调整。遇到问题时,仔细查看错误日志通常能找到解决方案。随着实践增多,你会逐渐熟悉服务器部署的各项操作,能够应对更复杂的部署场景。

2800

被折叠的 条评论
为什么被折叠?



