从零开始: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

七、注意事项

  1. 端口占用问题:如果启动项目时提示端口被占用,使用netstat -tlnp | grep 端口号查看占用进程,再用kill -9 进程ID结束进程。

  2. 日志查看:项目运行异常时,及时查看日志定位问题

    • Python项目:journalctl -u my_python_project
    • Java项目:tail -f app.logjournalctl -u my_java_project
  3. 定期备份:重要数据和配置文件要定期备份

    # 示例:备份项目目录
    tar -zcvf project_backup_$(date +%Y%m%d).tar.gz /root/你的项目目录
    
  4. 安全更新:定期更新系统和依赖包,修复安全漏洞

    yum update -y
    
  5. 环境隔离:不同项目尽量使用独立的环境,避免依赖冲突

  6. 避免明文密码:配置文件中的密码等敏感信息不要明文存储

八、总结

通过本指南,你已经掌握了从Linux服务器环境搭建到Python和Java项目部署的完整流程。核心步骤包括:

  1. 服务器初始化与基础工具安装
  2. 对应语言环境的搭建(Python虚拟环境/JDK+Maven)
  3. 项目上传与依赖安装
  4. 服务配置与启动
  5. 安全设置与开机自启配置

实际部署中,可能需要根据具体项目需求进行调整。遇到问题时,仔细查看错误日志通常能找到解决方案。随着实践增多,你会逐渐熟悉服务器部署的各项操作,能够应对更复杂的部署场景。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值