pycharm部署django项目到云服务器的详细流程


Posted in Python onJune 29, 2021
目录
  • 前言
  • 1-下载python3.8压缩包
  • 2-解压缩安装包
  • 3-安装依赖工具
  • 4-安装python3.8
  • 6-修改yum配置文件
  • 7-配置python
  • 8-检验配置结果
  • 9-上传并部署Django项目

前言

大家想一想,如果要在一台电脑上运行python程序需要些什么工具呢?
显而易见,我们需要在电脑上安装python应用,配置python环境等等。那么如果我们需要在云服务器上运行python程序的话要怎么做呢?相信大家已经想到了,就是照葫芦画瓢,在云服务器上做相同的工作就好了。

1-下载python3.8压缩包

1.1 操作系统

centos7.9 64位

1.2 下载python3.8 安装包

使用如下命令下载python 3.8:
wget https://www.python.org/ftp/python/3.8.0/Python-3.8.0.tgz
如果提示-bash: wget: 未找到命令,需要先使用yum安装wget,命令如下:
yum -y install wget

安装完成后在secure fx可以查看解压包的位置

pycharm部署django项目到云服务器的详细流程

2-解压缩安装包

2.1 通过以下命令解压缩下载的文件:

tar zxf Python-3.8.0.tgz

2.2 输入cd / 然后再输入ls 可得到如下结果:
说明已经解压成功

pycharm部署django项目到云服务器的详细流程

3-安装依赖工具

因为编译 Python 源代码需要依赖于很多工具,所以得先准备一下,依次执行以下命令:

yum update -y

yum groupinstall -y ‘Development Tools'

yum install -y gcc openssl-devel bzip2-devel libffi-devel

4-安装python3.8

4.1 进入解压包解压后的文件位置:
在centos中输入:cd /Python-3.8.0

4.2 配置安装路径:
执行如下命令:
1 ./configure prefix=/usr/local/python3 --enable-optimizations

?enable-optimizations是优化选项(LTO,PGO 等)加上这个 flag 编译后,性能有 10% 左右的优化,但是这会明显的增加编译时间。

温馨提示:?enable-optimizations 该语句可能导致之后安装报错:Could not import runpy module 个人建议最好将其删除

原因是:在低版本的gcc版本中带有?enable-optimizations参数时会出现上面问题
gcc 8.1.0修复此问题

4.3 开始安装:
./configure命令执行完毕之后创建一个文件 Makefile, 供下面的make命令使用,执行make install之后就会把程序安装到我们指定的文件夹中去。
2 make && make install

如果出现了Could not import runpy module 先检查有没有按我上面说的删除?enable-optimizations,再者就是应该是安装依赖工具的时候出错了
如果出现如下错误,则接着看下面的解决方法
Error Downloading Packages

文章转自https://www.cnblogs.com/twobrother/p/11577636.html
解决方法如下:
yum出现Error downloading packages错误
错误表现方式:
yum可以list,可以clean cache,但是无法安装,错误提示:
Downloading packages:
Error downloading packages:
libevent-devel-2.0.21-4.el7.x86_64: [Errno 5] [Errno 2] 没有那个文件或目录
libevent-2.0.21-4.el7.x86_64: [Errno 5] [Errno 2] 没有那个文件或目录
错误出现原因:
安装python3修改软链接,没有完全修改导致

[root@duke ~]# mv /usr/bin/python /usr/bin/python2.6.6
[root@duke ~]# ln -s /usr/local/bin/python3.6 /usr/bin/python
[root@duke ~]# vi /usr/bin/yum

将文件头部的
#!/usr/bin/python
改成
#!/usr/bin/python2.6.6
改过之后发现yum可以list,可以clean cache,但是无法安装。
错误解决:
把下载器中的python也修改对应的版本
[root@duke ~]# vi /usr/libexec/urlgrabber-ext-down
将文件头部的
#!/usr/bin/python
改成
#!/usr/bin/python2.6.6

5-修改python2软链接

软链接其实就相当于我们常用的电脑主机的快捷方式

阿里云服务器的centos中会自带一个python2.7.5,而默认的python路径也是python2.7.5,如果要用到我们刚才安装的pyhton3.8的话就要修改软链接。
我们首先查看一下 Python 可执行文件的位置:
which python

然后切换到相应的目录:
cd /usr/bin

查看相关的python信息:
ls -la python*

pycharm部署django项目到云服务器的详细流程

发现当我们执行python 命令时,系统指向python 2,然后python 2指向python 2.7,所以系统默认使用的python版本仍然是python 2。

首先将python 改名为 python.bak
mv python python2.bak
再次查看python相关信息:

pycharm部署django项目到云服务器的详细流程

6-修改yum配置文件

进入目录/usr/bin,查看有关yum的文件:
ls -la yum*

pycharm部署django项目到云服务器的详细流程

使用vi 进入文本编辑器(如果有多个yum配置文件,都要进去修改):
vi yum
点击i进入编辑模式之后将#!/usr/bin/python 改为#!/usr/bin/python2,按ESC退出编辑模式,输入:wq!保存修改退出。

同样进入文件 /usr/libexec/urlgrabber-ext-down 做同样修改。

7-配置python

3、pip3软链接

7.1配置python3软链接
ln -s /usr/local/python3/bin/python3.8 /usr/bin/python
ls -la python*
配置后结果

pycharm部署django项目到云服务器的详细流程

7.2 配置pip3软链接
ln -s /usr/local/python3/bin/pip3.8 /usr/bin/pip
ls -la pip*
因为python3中是自带pip3的,如果没有的话执行如下步骤就行了
1.安装源

yum -y install epel-release

2.安装pip

yum install python-pip

3.对安装好的pip进行升级

pip install --upgrade pip (注意是两个短横线~~)

pycharm部署django项目到云服务器的详细流程

如果你打完代码后,再次查看软链接情况发现它在闪烁的话,说明没有链接成功。
这个时候大部分原因是链接的路径有问题,不清楚centos文件路径的同学可以下载securefx来直观地了解文件位置,其中要创建软链接要遵守这个规则 ln -s [源文件] [软链接文件]

8-检验配置结果

在服务器中输入 python --version和pip -V
结果如下:

pycharm部署django项目到云服务器的详细流程

到了这一步的话,你的python环境已经在服务器上搭建完成了,接下来就是将我们的django项目上传到服务器中。

9-上传并部署Django项目

9.1 将Django打包上传到SecureCRT
先吧自己的Django项目整成压缩包,然后在 SecureFx中新建一个名为Sever的文件夹,将压缩包丢进去,就像这样

pycharm部署django项目到云服务器的详细流程

依次执行下列语句获取rar解压方法
wget http://www.rarlab.com/rar/rarlinux-x64-5.3.0.tar.gz
tar -xf rarlinux-x64-5.3.0.tar.gz
cd rar
make

rar  x  test.rar  //解压 test.rar 到当前目录

为了后面方便更改代码,这里我们辛苦一点在Pycharm中同步部署我们的Django项目
步骤如下:
1、在“工具(Tools)”菜单中找到“部署(Deployment)”选项,选择子菜单中的“配置(Configuration…)”选项。

pycharm部署django项目到云服务器的详细流程

2、在部署(Deployment)窗口中点击加号(+)按钮,设置服务器配置的名称和类型(选择SFTP)

pycharm部署django项目到云服务器的详细流程

3、在配置界面的“连接(Connection)”设置中,分别添加:服务器IP地址、端口(默认22)、服务器中存放源码的目录以及登录服务器的账号名称与密码

提示:完成配置之后,点击“测试SFTP连接(Test SFTP connection…)”按钮进行服务器连接测试,保证配置正确

pycharm部署django项目到云服务器的详细流程

4、然后,切换到“映射(Mappings)”的设置,选择本地源码所在目录以及服务器上传源码的目录。

pycharm部署django项目到云服务器的详细流程

5、在选项设置中,我们选择自动将修改内容上传服务器的操作,这里我们可以选择“明确的保存动作(On explicit save action)”。也就是说当我们按下快捷键“Ctrl+S”时,系统会自动上传修改内容到服务器。

pycharm部署django项目到云服务器的详细流程

6、好了,到这一步你的Pycharm就已经和云服务器连接起来了,你可以在本地修改代码以及在终端运行代码后会自动同步至云服务器上。

pycharm部署django项目到云服务器的详细流程

好了,经过上面这么繁琐的操作后,你已经完成了80%了,加油,胜利快到了。

9.2 安装Django
pip3 install django
安装好了后进入python,输入下图语句可以查看django的版本

pycharm部署django项目到云服务器的详细流程

9.3 安装uwsgi
pip3 install uwsgi
安装成功后输入uwsgi是这个样子

pycharm部署django项目到云服务器的详细流程

给uwsgi建立软链接

ln -s /usr/local/python3/bin/uwsgi /usr/bin/uwsgi

9.4 配置Django项目
本博主使用到的项目已经是连接到Mysql中并且建立好数据库的了,不懂怎么连接与配置mysql的同学可以新开一个网页去搜一下,在这里我就不做过多的说明了。

9.4.1数据库迁移
这个步骤博主遇到的错误非常之多,希望你们可以一次迁移成功吧。
首先要到我们的服务器存放的路径下,我的服务器存放的路径是 cd /Server/GroupProject

然后依次运行

python manage.py makemigrations
python manage.py migrate

因为我之前遇到的问题太多,我现在也记不太起来了,主要是1054 1366这几个错误,遇到了也不要慌CSDN都能找到解决方法,总得来说报错一般是你在一开始建立数据库的时候没有设置中文,而你却在建表的时候设置了中文,这个时候如果你的Django里边有中文字段的话就会报错,所以说如果你想要让数据库全中文支持的话,最好重新建一个数据库的同时设置中文,这样就基本不会有问题了。

附上建库同步设置中文方法:
mysql:CREATE DATABASE 数据库名 DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
再不行的话试试这样:
vi /etc/my.cnf

文本添加内容

[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
[mysqld]
collation-server=utf8_general_ci
character-set-server=utf8
init-connect=‘SET NAMES utf8'

另外,不要忘记在pycharm主项目中的setting中添加这个,目的是所有ip都可以访问。

pycharm部署django项目到云服务器的详细流程


9.4.2 安装nginx

安装解压包 wget http://nginx.org/download/nginx-1.13.7.tar.gz
解压 tar -zxvf nginx-1.13.7.tar.gz
依次执行以下命令:

cd nginx-1.13.7

./configure

make

make install

注意:nginx一般默认安装好的路径为/usr/local/nginx

配置nginx

vim /etc/nginx/nginx.conf

添加以下内容

pycharm部署django项目到云服务器的详细流程

9.5 运行Django项目

好了到了这个时候你已经可以通过ip来打开我们的Django项目了。
博主的实例是一个Django自带的admin后台,可以方便直观地检测我们项目是否正常运行。
首先进入项目路径 cd /Server/GroupDjango
然后输入 python manage.py runserver 0.0.0.0:8000

注意!! 这里的python指的是之前我们软链接指向的路径,我这里是用python指向python3.8这个应用的,如果报错的话,可以回去看看软链接设置的对不对。

pycharm部署django项目到云服务器的详细流程

最后,成功运行后的结果如下

pycharm部署django项目到云服务器的详细流程

我们可以通过http:// 服务器ip地址:8000/admin/来访问admin后台

pycharm部署django项目到云服务器的详细流程

如果还需要

到此这篇关于pycharm部署django项目到云服务器的详细流程的文章就介绍到这了,更多相关pycharm部署django到云服务器内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
Django contenttypes 框架详解(小结)
Aug 13 Python
在python中bool函数的取值方法
Nov 01 Python
python利用Tesseract识别验证码的方法示例
Jan 21 Python
python SQLAlchemy 中的Engine详解
Jul 04 Python
Django Form 实时从数据库中获取数据的操作方法
Jul 25 Python
Python爬虫解析网页的4种方式实例及原理解析
Dec 30 Python
mac使用python识别图形验证码功能
Jan 10 Python
python实现用类读取文件数据并计算矩形面积
Jan 18 Python
python2 对excel表格操作完整示例
Feb 23 Python
Python键鼠操作自动化库PyAutoGUI简介(小结)
May 17 Python
基于Python爬取京东双十一商品价格曲线
Oct 23 Python
Python中使用aiohttp模拟服务器出现错误问题及解决方法
Oct 31 Python
Python快速实现一键抠图功能的全过程
总结python多进程multiprocessing的相关知识
Jun 29 #Python
python 字典和列表嵌套用法详解
Jun 29 #Python
Python连接Postgres/Mysql/Mongo数据库基本操作大全
5行Python代码实现一键批量扣图
Python爬取用户观影数据并分析用户与电影之间的隐藏信息!
python geopandas读取、创建shapefile文件的方法
You might like
php操作SVN版本服务器类代码
2011/11/27 PHP
php实现微信公众平台账号自定义菜单类
2015/10/11 PHP
Js动态创建div
2008/09/25 Javascript
jquery 框架使用教程 AJAX篇
2009/10/11 Javascript
javascript实现获取字符串hash值
2015/05/10 Javascript
Javascript中setTimeOut和setInterval的定时器用法
2015/06/12 Javascript
JavaScript+CSS实现仿Mootools竖排弹性动画菜单效果
2015/10/14 Javascript
深入分析Javascript事件代理
2016/01/30 Javascript
JavaScript获取IP获取的是IPV6 如何校验
2016/06/12 Javascript
Jquery组件easyUi实现手风琴(折叠面板)示例
2016/08/23 Javascript
浅谈事件冒泡、事件委托、jQuery元素节点操作、滚轮事件与函数节流
2017/07/22 jQuery
深入理解Vue 组件之间传值
2018/08/16 Javascript
vue-cli3.X快速创建项目的方法步骤
2019/11/14 Javascript
[01:51]历届DOTA2国际邀请赛举办地回顾 TI9落地上海
2018/08/26 DOTA
让 python 命令行也可以自动补全
2014/11/30 Python
python生成随机mac地址的方法
2015/03/16 Python
ansible作为python模块库使用的方法实例
2017/01/17 Python
Python的时间模块datetime详解
2017/04/17 Python
机器学习的框架偏向于Python的13个原因
2017/12/07 Python
Python读写zip压缩文件的方法
2018/08/29 Python
python实现抖音点赞功能
2019/04/07 Python
PyCharm 创建指定版本的 Django(超详图解教程)
2019/06/18 Python
python英语单词测试小程序代码实例
2019/09/09 Python
python模块和包的应用BASE_PATH使用解析
2019/12/14 Python
联强国际笔试题面试题
2013/07/10 面试题
实习求职信
2013/12/01 职场文书
2014年国庆节演讲稿
2014/09/02 职场文书
学用政策心得体会
2014/09/10 职场文书
党校毕业心得体会
2014/09/13 职场文书
中学生旷课检讨书2篇
2014/10/09 职场文书
公司年夜饭通知
2015/04/25 职场文书
法制教育主题班会
2015/08/13 职场文书
导游词之铁岭象牙山
2019/12/06 职场文书
vue Element-ui表格实现树形结构表格
2021/06/07 Vue.js
详细聊聊浏览器是如何看闭包的
2021/11/11 Javascript
win10键盘驱动怎么修复?Win10键盘驱动修复小技巧
2022/04/06 数码科技