python3.8.0Django开发后端接口api部署到LinuxCentos7上

python3.8.0Django开发后端接口api部署到LinuxCentos7上

2023年7月10日发(作者:)

python3.8.0Django开发后端接⼝api部署到LinuxCentos7上经历了两天的时候终于把本地使⽤python3 django开发的接⼝API部署到服务器上了,还是记录⼀下,以免之后忘记,哈哈注意⼀点,就是,centos7是基于python2的,我这边默认的是python2.7.5,记住不要删除了python2,否则后果很严重,yum会报错,这是因为python3和python2版本的冲突导致的第⼀步,安装 python3 到 Centos7, 先安装软件管理包和可能使⽤的依赖yum -y groupinstall "Development tools"yum install openssl-devel bzip2-devel expat-devel gdbm-devel readline-devel sqlite-devel第⼆步,下载Pyhton3到/usr/local ⽬录wget /ftp/python/3.8.0/第三步,解压tar -zxvf 第四步,进⼊cd Python-3.8.0第五步,解压到指定路径./configure --prefix=/usr/local/python3第六步,安装python3makemake install第七步,安装完成之后 建⽴软链接 添加变量 ⽅便在终端中直接使⽤python3ln -s /usr/local/python3/bin/python3.8 /usr/bin/python3第⼋步,Python3安装完成之后pip3也⼀块安装完成,不需要再单独安装⼀样建⽴软链接同样给pip3建⽴软链接ln -s /usr/local/python3/bin/pip3.8 /usr/bin/pip3注: 如果软链建⽴完成,但是却⽆法使⽤的时候执⾏下⾯命令: mv pip pip2 # (将⽂件 pip 更名为 pip2 ) ln -s /usr/local/python3/bin/pip3 /usr/bin/pip

如果安装了python3以后发现没有pip可以通过以下⽅式下载pip,进⼊⼀个⽬录就是你想把它下载到哪个⽬录就进⼊哪个⽬录会下载⽂件然后执⾏: python3

第九步,安装virtualenv, ⽅便不同版本项⽬管理。pip3 install virtualenv第⼗步,建⽴软链接ln -s /usr/local/python3/bin/virtualenv /usr/bin/virtualenv3第⼗⼀步,安装成功在根⽬录下建⽴两个⽂件夹,主要⽤于存放env和⽹站⽂件的 (⽂件创建随意,根据实际需求)。mkdir -p /data/env # 存放虚拟环境

mkdir -p /data/www # 存放web项⽬第⼗⼆步,切换到/data/env/下,创建指定版本的虚拟环境。virtualenv3 --python=/usr/bin/python web (项⽬名) # 创建虚拟环境 # 然后进⼊ cd /data/env/web/bin

# 进⼊bin⽬录后开启虚拟环境,执⾏命令 source activate

# 注:(启动后出现 (web),说明是成功进⼊虚拟环境。)第⼗三步,虚拟环境⾥⽤pip3安django和uwsgi (留意:uwsgi要安装两次,先在系统⾥安装⼀次,然后进⼊对应的虚拟环境安装⼀次。)pip3 install django #(如果⽤于⽣产的话,则需要指定安装和你项⽬相同的版本)pip3 install uwsgi# 给uwsgi建⽴软链接,⽅便使⽤ln -s /usr/local/python3/bin/uwsgi /usr/bin/uwsgi第⼗四步,在本地项⽬⽬录下⽤下⾯的命令把当前的环境依赖包导出到⽂件pip freeze >

第⼗五步,把项⽬源码压缩打包。把项⽬上传到服务器对应的⽬录⾥(/data/www/),解压。这⾥可以导⼊本地数据库,其实django建model,只要在线上mysql数据库中建⽴项⽬中的数据库的名称,eg:python然后,可以像本地开发⼀样 migrate 数据库,前提是已经安装好了数据库啊

第⼗六步,进⼊解压好的项⽬根路径中安装⾥的依赖包。pip3 install -r 第⼗七步,安装mysqlcd /home/liudong安装mysql的YUM源:rpm -ivh 检查mysql的YUM源是否安装成功:yum repolist enabled | grep "mysql.*-community.*"查看mysql版本,执⾏:yum repolist all | grep mysql查看当前的启⽤的 MySQL 版本:yum repolist enabled | grep mysqlyum install mysql-community-server安装过程中⼀直输⼊"y"就可以了,当出现下⾯的结果时,就代表mysql数据库安装成功了启动mysql服务:systemctl start mysqld登录进Mysql(我的刚安装完时没有密码):mysql -uroot -p查看默认密码grep 'temporary password' /var/log/

进去之后重新设置密码

set password for 'root'@'localhost' = password('123456');

第⼗⼋步,通过 python3 runserver 运⾏⼀下项⽬,如果能正常启动则进⾏下⼀步,不能正常运⾏往上检查

如果报错:erlyConfigured: mysqlclient 1.3.3 or newer is required; you have 0.7.11 解决⽅案:解决:编辑Python安装路径下的 将⽂件中的如下代码注释#if version < (1, 3, 3):# raise ImproperlyConfigured("mysqlclient 1.3.3 or newer is required; you have %s" % Database.__version__)第⼗九步,在项⽬根⽬录⾥添加uwsgi配置⽂件 ()[uwsgi]socket = 127.0.0.1:8070#是否使⽤主线程master = true# 项⽬在服务器中的⽬录(绝对路径)chdir = /data/www/web# Django's wsgi ⽂件⽬录wsgi-file = web/# 最⼤进程数processes = 4#每个进程的线程数threads = 2#状态监听端⼝stats = 127.0.0.1:9191# 退出时⾃动清理环境配置vacuum = true#⽬录下⽂件改动时⾃动重启touch-reload = /data/www/web#Python⽂件改动时⾃动重启#py-auto-reload = 1#后台运⾏并把⽇志存到.log⽂件daemonize = /data/www/web/第⼆⼗步,进⼊部署到服务器的项⽬根⽬录下,执⾏uwsgi --ini 第⼆⼗⼀步,查看端⼝,看下uwsgi是否存在netstat -nltp

第⼆⼗⼆步,配置Nginx配置⽂件(把原先的配置⽂件可以备份以下,然后将下⾯的替换进去)。events { worker_connections 1024;}http { include ; default_type application/octet-stream; sendfile on; server { listen 80; server_name 127.0.0.1:80; # 改为⾃⼰的域名,没域名修改为127.0.0.1:80 charset utf-8; location / { include uwsgi_params; uwsgi_pass 127.0.0.1:8070; #端⼝要和uwsgi⾥配置的⼀样 uwsgi_param UWSGI_SCRIPT ; #所在的⽬录名+.wsgi uwsgi_param UWSGI_CHDIR /data/www/web/; #项⽬路径

} location /static { alias /data/www/web/myapp/static; #静态资源路径 }

location /templates { alias /data/www/web/templates; } }}第⼆⼗三步,⼀定要注意Uwsgi和Nginx配置⽂件⾥的项⽬路径和静态资源路径,填写正确了才能成功访问。不然会出现502错误。还有就是,修改Django⽂件和其它配置⽂件之后,⼀定要重启Uwsgi和Nginx,不然不⽣效。uwsgi 启动⽅法 uwsgi --ini nx 重启⽅法 nginx -s reload以下总结下注意事项:1 项⽬上线后记得 DEBUG = False 这样设置,这样的话你的项⽬访问失败就不会有 Django 的错误信息了2 设置所有 IP 都可访问 () ALLOWED_HOSTS = ['*']3 数据库设置()DATABASES = { 'default': { 'ENGINE': '', 'NAME': 'python', # 库名 (根据实际数据库名进⾏修改) 'PORT': 3306, # 端⼝(不⽤改) 'HOST': '127.0.0.1', # 本地host(不⽤改) "USER": 'root', # ⽤户名 'PASSWORD': '123456' # 密码 }}

发布者:admin,转转请注明出处:http://www.yc00.com/news/1688933063a185036.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信