学习猿地 python教程 django教程6 华为云部署

# 上线华为云服务器部署(弹性云服务器ECS)

>环境配置:

> ubuntu 18.04

> Python 3.6.8(python3.7亦可)

> nginx version: nginx/1.14.0 (Ubuntu)

## 1. 购买华为云服务器

文档 https://support.huaweicloud.com/ecs/index.html

## 2. 上传到华为云服务器,安装依赖环境,启动项目测试

#### 1.导出当前项目的依赖环境

`pip freeze > ./pipinstall.txt`

#### 2.把数据库导出

`bookshop.sql`

#### 3.把项目内容上传到华为云服务器

xftp

#### 4.在华为云中安装需要的环境

1. mysql的安装和配置

```shell

# 安装mysql

sudo apt-get install mysql-server

sudo apt install mysql-client

sudo apt install libmysqlclient-dev

# 测试进入服务

mysql -uroot -p 空

#创建用户,

grant all on *.* to [email protected]‘%‘ identified by ‘123456‘ with grant option;

# 退出mysql,修改mysql的配置文件

vim /etc/mysql/mysql.conf.d/mysqld.cnf

# 打开文件后 注释下面的一行

#注释掉bind-address = 127.0.0.1:

# 重启服务

service mysql stop

service mysql start

```

2. 当前项目的依赖环境

```shell

# 1.创建虚拟环境,如果没有安装则会提醒

python3 -m venv venv

# 2.启动虚拟环境

source venv/bin/activate

# 3.在虚拟环境中安装当前项目需要的环境

pip install -r pipinstall.txt

#(venv) [email protected]:/home/py23_bookshop# pip install -r pipinstall.txt

```

3. 注意错误

```shell

#error: command ‘x86_64-linux-gnu-gcc‘ failed with exit status 1

apt-get install python3-dev

```

#### 5.在云服务器中调试项目

1. 启动服务器

`Python manage runserver 0.0.0.0:8000`

2. 浏览器访问测试

`114.116.200.51:8000`

## 3. 搭建uwsgi启动项目测试

#### 1.安装uwsgi

`sudo pip3 install uwsgi --upgrade`

#### 2.安装完成后使用命令测试

先进入项目目录,启动命令

```shell

uwsgi --http :8000 --chdir /home/py23_bookshop/web  --module web.wsgi

# --home 指定virtualenv 路径,如果没有可以去掉。web.wsgi 指的是 web/wsgi.py 文件

```

#### 3.访问测试,启动成功后

`114.116.200.51:8000`

#### 4. 配置uwsgi文件启动项目

#### 第一步:创建一个uwsgi.ini文件

#### 第二步:在django项目同级目录创建script目录,用于存放配置脚本等等

/home/alipay/web/

# script/  web/ db.sqlite3 manage.py uwsgi.ini

#### 第三步:编辑uwsgi.ini文件内容如下: 目录参考个人目录进行修改

```shell

# uwsig使用配置文件启动

[uwsgi]

# 项目目录

chdir=/home/py23_bookshop/web/

# 指定项目的application

module=web.wsgi:application

# 指定sock的文件路径

socket=/home/py23_bookshop/web/script/uwsgi.sock

# 进程个数

workers=5

pidfile=/home/py23_bookshop/web/script/uwsgi.pid

# 指定IP端口

http=0.0.0.0:8000

# 指定静态文件

#static-map=/static=/home/py23_bookshop/web/static/

# 启动uwsgi的用户名和用户组

uid=www-data

gid=www-data

# 启用主进程

master=true

# 自动移除unix Socket和pid文件当服务停止的时候

vacuum=true

# 序列化接受的内容,如果可能的话

thunder-lock=true

# 启用线程

enable-threads=true

# 设置自中断时间

harakiri=30

# 设置缓冲

post-buffering=4096

# 设置日志目录

daemonize=/home/py23_bookshop/web/script/uwsgi.log

# 权限

chmod-socket = 666

chown-socket = www-data

```

#### 5.执行命令,启动项目测试

uwsgi --ini uwsgi.ini

在浏览器访问127.0.0.1:8000

## 4,安装nginx

#### 1.安装nginx

`sudo apt-get install python-dev nginx`

#### 2.安装完成后,可以使用通过浏览器访问公网IP测试

#### 3.创建项目的配置文件,或者直接修改原nginx配置文件都可以

`vim /etc/nginx/sites-available/webtest.conf`

```shell

server {

listen      80;

server_name localtion;

charset    utf-8;

client_max_body_size 75M;

location / {

uwsgi_pass  unix:///home/py23_bookshop/web/script/uwsgi.sock;

include    /etc/nginx/uwsgi_params;

}

#location /media  {

#    alias /path/to/project/media;

#}

location /static {

alias /home/py23_bookshop/web/static/;

}

}

```

#### 4.创建完配置文件后创建软连接

`sudo ln -s /etc/nginx/sites-available/webtest.conf /etc/nginx/sites-enabled/webtest.conf`

#### 5.启动nginx,重新加载配置文件

`nginx -s reload`

注意:

1.给当前项目设置访问权限。www-data

2.注意在nginx的配置中uwsgi_pass这一项 uwsgi_pass unix:///home/yc/web/script/uwsgi.sock; 它需要找到你在启动uwsgi后的sock文件,并且要注意权限

3.在使用uwsgi --ini uwsgi.ini启动后会创建 .sock文件 那么在后面更新代码时不需要把 script目录下的文件都删除 只需要重启即可 uwsgi --reload xxx.pid

掌握学习方法,不如会弯道超车!

学习猿地:成就自己的只需一套精品!

原文地址:https://www.cnblogs.com/itxdl/p/12557251.html

时间: 2024-10-08 17:50:40

学习猿地 python教程 django教程6 华为云部署的相关文章

学习猿地 python教程 django教程8 Django部署(Apache)

# Django部署\(Apache\) > 在前面的章节中我们使用**python3 manage.py runserver**来运行服务器.这只适用测试环境中使用. > > 正式发布的服务,我们需要一个可以稳定而持续的服务器,比如Apache, Nginx, IIS等,本文将以 Apache为例. > > 使用[Apache](https://httpd.apache.org/)和[mod\_wsgi](http://www.modwsgi.org/)部署Django 是

学习猿地 python教程 django教程9 Django使用redis实现缓存

# Django使用redis实现缓存 ### 环境搭建安装 * 1,安装redis服务 ``` sudo apt-get install redis ``` * 2,安装django组件 ``` sudo pip3 install django-redis ``` ### Django项目配置 ```py settings.py CACHES = { "default": { # 引擎 "BACKEND": "django_redis.cache.Red

小猿圈python之Django和Flask比较?

Django和Flask是python web框架的其中两种,也是当今web比较流行的框架,那这两种框架到底有什么区别呢?下面小猿圈加加就说一下它们的区别. Django 是一个重量级的框架,Flask是一个轻量型的框架; Django框架:Django是基于中间件的一个大型框架.框架本身的内容相当丰富,基础部分:模版引擎.ORM.表单.路由分发这些标配,还有不少的中间件:登陆.后台管理,这些还是官方中间件. 另外还有不少的第三方中间件.关于第三方的没怎么专门研究,不能评论质量的好坏. 还有由R

python Django教程 之模板渲染、循环、条件判断、常用的标签、过滤器

python3.5 manage.py runserver python Django教程 之模板渲染.循环.条件判断.常用的标签.过滤器 一.Django模板渲染模板 注: 本节代码是基于 Django 1.8,但 Django 1.4 - Djagno 1.9 操作流程也是一样的. 后文给出示例代码可以在 Django 1.4.x 到 Django 1.9.x 上运行. 不过还是强调一点,一点要动手敲代码!不要偷懒哦,动手才能学到真东西. 1. 创建一个 zqxt_tmpl 项目,和一个 名

python Django教程 之 模型(数据库)、自定义Field、数据表更改、QuerySet API

python  Django教程  之 模型(数据库).自定义Field.数据表更改.QuerySet API 一.Django 模型(数据库) Django 模型是与数据库相关的,与数据库相关的代码一般写在 models.py 中,Django 支持 sqlite3, MySQL, PostgreSQL等数据库,只需要在settings.py中配置即可,不用更改models.py中的代码,丰富的API极大的方便了使用. 本节的代码:(Django 1.6, Python 2.7 测试环境) 大

分享《Python数据分析基础教程:NumPy学习指南(第2版)》高清中文PDF+英文PDF+源代码

下载:https://pan.baidu.com/s/1YSD97Gd3gmmPmNkvuG0eew更多资料分享:http://blog.51cto.com/3215120 <Python数据分析基础教程:NumPy学习指南(第2版)>高清中文PDF+高清英文PDF+源代码 高清中文版PDF,249页,带目录和书签,文字能够复制粘贴:高清英文版PDF,310页,带目录和书签,文字能够复制粘贴:中英文两版可以对比学习.配套源代码:经典书籍,讲解详细:其中高清中文版如图: 原文地址:http://

Numpy学习:《Python数据分析基础教程NumPy学习指南第2版》中文PDF+英文PDF+代码

NumPy是一个优秀的科学计算库,提供了很多实用的数学函数.强大的多维数组对象和优异的计算性能,不仅可以取代Matlab和Mathematica的许多功能,而且业已成为Python科学计算生态系统的重要组成部分.但与这些商业产品不同,它是免费的开源软件. 推荐学习<Python数据分析基础教程NumPy学习指南第2版>,通过书中丰富的示例,学会Matplotlib绘图,并结合使用其他Python科学计算库(如SciPy和Scikits),让工作更有成效,让代码更加简洁而高效. 学习参考: &l

xadmin学习笔记(二)——改造Django教程实例(1)

前言 xadmin是基于Python和Django的管理框架,想要能够熟练使用,学习Django是必须的.在学习Django的过程中,不妨用xadmin来验证下新的效果是怎样的.本文就是在学习Django官方文档的Tutorial的过程中进行的摸索. FAQ 1:如何修改xadmin的site-title和site-footer? site-title和site-footer都是设置在base_site.html模板页面中的,可以从xadmin的安装目录下的xadmin\templates\xa

Django教程

开发环境:Centos7,Django 1.10,Python 2.7 Django入门 本教程内容大部分来源于Django官网,有翻译不到位的欢迎大家指正,这部分的内容有助于新手快速搭建一个网站,让我们通过一个完整的示例来学习 通过这个教程,我们将带你创建一个简单的投票应用,本节内容包含如下几点: 包含两部分内容: 一个开放的网站让人们可以查看投票和投票 一个管理网站,让你可以添加,修改,和删除投票 假设你已经安装好Django.你可以运行一下命令查看安装的是哪个版本 $ python -m