准备好ecs服务器,本地部署主机为windows系统。

本地安装好WinSCP和SecureCRT,并配置ecs服务器登录。

用WinSCP登录ecs后,在根目录新建文件夹 Django,文件夹自动给与777权限。

将django项目整个拖入文件夹,该项目名称为qa_server。

使用SecureCRT登录ecs,命令行输入

python

发现python版本为3.6,知道后面会有一堆麻烦了。

命令行输入

/usr/bin

再次输入

ls *python*

看了下里面的命令,发现有个python2和python2.7

根据https://www.runoob.com/django/django-nginx-uwsgi.html教程,使用yum安装开发工具

yum groupinstall "Development tools"

发现yum是用python2.x的语法写的,有两个选择,一个是把里面2.x的语法修改成3.x,一个是把文件最上面指定的的python版本进行修改

#!/usr/bin/python  ---->> #!/usr/bin/python2.7

再次安装

yum groupinstall "Development tools"

发现里面有一个命令也和yum一样有问题,如法炮制,顺利安装开发工具。

命令行输入:

pip

发现pip和yum一样有python版本问题,但是pip我选择将之语法修改,这样它就是pip3

pip install uwsgi 

uwsgi --version

顺利安装

进入项目目录,到setting.py文件同级目录,新建uwsgi.ini

编辑ini文件,写入内容如下:

[uwsgi]
# 配置服务器的监听ip和端口,让uWSGI作为nginx的支持服务器的话,设置socke就行;如果要让uWSGI作为单独的web-server,用http
http = 127.0.0.1:3309
#socket = 127.0.0.1:3309
# 配置项目目录(此处设置为项目的根目录)
chdir = /Django/qa_server
# 配置入口模块 (django的入口函数的模块,即setting同级目录下的wsgi.py)
wsgi-file = /Django/qa_server/qa_server/wsgi.py
# 开启master, 将会多开一个管理进程, 管理其他服务进程
master = true
# 服务器开启的进程数量
workers = 2
# 以守护进程方式提供服, 输出信息将会打印到log中
daemonize = wsgi.log
# 服务器进程开启的线程数量
threads = 4
# 退出的时候清空环境变量
vacuum = true
# 进程pid
pidfile = uwsgi.pid
# 配uWSGI搜索静态文件目录(及django项目下我们存放static文件的目录,用uWSGI作为单独服务器时才需要设置,此时我们是用nginx处理静态文件)
# check-static = /home/python/Desktop/ttsx

保存退出,命令行输入:

vi /etc/nginx/conf.d/default.conf

修改80接口监听服务器配置:

location / {

    include uwsgi_params;

    proxy_pass http://127.0.0.1:3309;

}

保存退出

nginx -t 

nginx -s reload

重启nginx

进入 项目目录,使用debug模式启动django项目

python manage.py runserver 0.0.0.0:3309

回车后,发现没有安装django

pip install django

再次运行,发现有个地方认为我们的mysqlclient版本太低,修改报错的地方,将之注释

再次运行,发现有个地方说没有decode属性,将之修改为encode(如前面的博文)

再次运行,正常启动

另开命令行,输入:

0.0.0.0:3309

报以下问题:

Invalid HTTP_HOST header: '0.0.0.0:1000'. You may need to add '0.0.0.0' to ALLOWED_HOSTS.

修改setting.py

ALLOWED_HOSTS = ['*']

再次调用

0.0.0.0:3309

报404,那应该是路由问题

0.0.0.0:3309/admin

这时候就正常了,关闭debug服务器

进入到uwsgi.ini的目录,命令行

uwsgi --ini uwsgi.ini

浏览器输入

http://ecsip/admin

可看到后台登录页面,说明部署成功。

 

 

 

 

Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐