首页 帮助中心 新加坡云服务器 新加坡云服务器上运行python程序的详细操作
新加坡云服务器上运行python程序的详细操作
时间 : 2024-07-18 14:20:23 编辑 : 华纳云 阅读量 : 286

新加坡云服务器可以用于运行python程序,通常是先连接云服务器,设置python环境、上传代码、安装依赖项、运行程序、设置守护进程确保程序持续运行等,详细步骤如下!

使用华纳云新加坡云服务器为例,需要先SSH连接云服务器,假设使用Ubuntu 操作系统。

ssh username@your_server_ip

python环境的安装,需要先更新系统软件包

sudo apt-get update

安装python3

sudo apt-get install -y python3 python3-pip

建议设置虚拟环境,使用虚拟环境能隔离项目的依赖性,避免冲突。安装 virtualenv

sudo pip3 install virtualenv

在项目目录中创建虚拟环境,如项目的目录为/home/username/myproject

cd /home/username/myproject

virtualenv venv

激活虚拟环境

source venv/bin/activate

激活后,命令提示符会有(venv) 前缀。

python的项目代码上传到服务器中,可以使用SCPSFTP等。如使用SCP来上传:

scp -r /path/to/your/local/project username@your_server_ip:/home/username/myproject

使用Git进行版本控制,可在服务器上克隆项目仓库。

cd /home/username

git clone https://github.com/yourusername/yourproject.git

cd yourproject

安装依赖项

pip install -r requirements.txt

运行你的 Python 程序。假设主程序文件是 app.py

python app.py

即便终端关闭的前提下为保证python程序持续运行,可以使用 nohupscreen systemd 等工具。nohup的使用:

nohup python app.py &

输出会保存至nohup.out 文件中。

使用screen 运行程序,实现可分离会话,便于在后台运行程序。screen 运行程序的安装:

sudo apt-get install -y screen

创建新的screen 会话并运行程序

screen -S myproject

python app.py

Ctrl+A 然后按 D 可以分离 screen 会话。使用 screen -r myproject 可以重新连接到会话。

创建一个 systemd 服务文件,使你的 Python 程序在后台运行并随系统启动。创建服务文件:

sudo nano /etc/systemd/system/myproject.service

添加以下内容(根据实际情况调整路径和描述):

[Unit]

Description=My Python Project

After=network.target

 

[Service]

User=username

Group=username

WorkingDirectory=/home/username/myproject

ExecStart=/home/username/myproject/venv/bin/python /home/username/myproject/app.py

 

[Install]

WantedBy=multi-user.target

重新加载 systemd 配置并启动服务:

sudo systemctl daemon-reload

sudo systemctl start myproject

启用服务开机自启动

sudo systemctl enable myproject

核实服务状态

sudo systemctl status myproject

为保证应用程序含适当日志记录和错误处理,使用logging 模块将日志输出到文件,并定期检查日志文件以确保应用程序正常运行。

以上步骤可以帮助您顺利运行Python 程序,并保证在后台可持续运行,可以根据需求进一步配置和优化服务器环境。如果需要更多的技术指导可咨询华纳云!

华纳云 推荐文章
新加坡云主机内存大小怎么选 dns速度的测试方法 新加坡云服务器使用Linux如何修改默认SSH端口 linux云主机端口映射失败怎么办? 虚拟主机操作系统最简单易懂的安装方法 SSH远程连接Linux实例卡顿怎么处理 Windows实例中RPC组件异常的解决方法 云数据库是什么 和自建数据库差异有哪些 centos7时区设置如何修改 如何使用CentOS7安装”Telnet“服务
客服咨询
7*24小时技术支持
技术支持
渠道支持