故事背景:最近在开发一个python的脚本 ,闲着没事就研究了一下如何将python项目部署上线, 记录一下自己踩过的坑,希望本片文章可以帮助到你 。
使用工具:
1、Pycharm
2、阿里云服务器
1、打开pycharm终端,在需要打包的目录下,输入:
pip freeze > requirements.txt
2、检查目录下是否有requirements.txt文件,有则成功。
3、将需要打包的目录压缩成zip格式,一定要是zip格式,linux系统不支持rar格式的压缩文件。
注意:(1)我的根文件叫website,其中还有个website文件夹。第一个website是我的项目名字,可随意更改。第二个website是不可以修改名字的,存储的是django的必需文件。(2)还有一个注意点,如果你是python web的项目,那么需要将settings.py中的ALLOWED_HOSTS = []改为ALLOWED_HOSTS = ['*']。否则打开网页会出现报错提示,是django的自带安全机制。
python文件打包成功
则此步完成
1、避免文章过长,具体步骤撰写于此博客:学生免费领取、配置阿里云服务器_GarsonW的博客-CSDN博客
1、点击远程连接云服务器。(位置在实例右侧操作下方)
2、立即登陆。
3、根据需求设置密码,并且登陆。
4、文件,打开新文件树。
5、将之前打包的python项目.zip文件上传到/home/目录中。
6、解压zip文件:在命令行中输入。
unzip /home/你的项目名称.zip
例如:unzip /home/website.zip
7、项目会自动解压到/root/中,我的项目解压完目录为/root/website。
python项目完整在服务器上出现
则此步骤成功
因为服务器配置Anaconda和windows上一致,所以不多赘述。提供以下资料辅助。
1、避免文章过长,具体指令撰写于此博客:Linux/Windows服务器Anaconda指令
2、可能输入conda指令会出现conda:command not found错误。解决方法:[Linux] 解决conda: command not found
当我们可以顺利的创建conda虚拟环境
则此步骤成功
1、打开云服务器的防火墙对应 (如:4321) 端口。打开了对应的端口别人才可以访问。具体指令:Linux服务器防火墙指令_GarsonW的博客-CSDN博客
❗注意:安全组中的对应端口 (如:4321) 也需要配置!!
2、使用nohup挂载python应用。
❗注意:挂载的地址是0.0.0.0,端口号是之前设置的端口号,我的是4321
nohup python manage.py runserver 0.0.0.0:4321 &
3、输入命令,查询端口是否挂载应用。
netstat -ntulp
5、访问网络,输入对应ip与端口号进行访问。
格式:服务器ip:端口号
列如:43.21.43.21:4321
项目部署成功