centos上安装python、nginx以及uwsgi各种相关依赖就不再赘述,详情可见CentOS6.8编译安装Python3.6 + pip + Nginx以及阿里云新手Flask + nginx + uwsgi + ubuntu的完整项目部署教程
vim test.py
# test.py
def application(env, start_response):
start_response('200 OK', [('Content-Type','text/html')])
return [b"Hello World"] # python3 注意不要丢掉 ‘b’
#return ["Hello World"] # python2
# uwsgi测试命令
uwsgi --http :8001 --wsgi-file test.py
# 此时访问 ip地址:8001/ 就可以看到Hello World了
# 要注意的是,return语句后边的'b'一定要加上,否则网页无输出,因为在python3中,字符默认是Unicode,所以必须进行编码
pip install django # pip安装django
django-admin.py startproject myproject # 创建django项目
cd myproject # 进入项目文件夹
python manage.py runserver 0.0.0.0:8003 # 运行django项目
# 打开浏览器访问 ip地址:8003, 就可以看到Django的欢迎界面了
这里我修改了django的默认数据库(sqlite3),改为了mysql,具体是在settings.py中修改关于数据库配置的代码,如下:
ALLOWED_HOSTS = ['*'] # 28行
DATABASES = { # 77行
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': '你的数据库名',
'USER':'你的mysql账户',
'PASSWORD':'你的mysql密码',
'HOST':'localhost',
'PORT':'3306',
}
}
执行如下命令:
uwsgi --http :8004 --chdir /usr/local/nginx/html/django/myproject --module myproject.wsgi
# 注意:chdir /usr/local/nginx/html/django/myproject 这是你项目具体所在的路径(绝对路径)
成功之后,浏览器访问 ip地址:8004 即可看到与上图同样的界django欢迎界面,这就说明连接成功了。
很多教程上说要建立django_wsgi,现在的版本已经不需要了,直接myproject.wsgi即可。
在文章开头的两个链接里有,安装步骤也很清晰,跟着做就可以了,为避免重复,这里就不再写了。
本着最小改动的原则,修改nginx.conf文件如下:
vim /usr/local/nginx/conf/nginx.conf
# 不修改nginx.conf的原本内容,翻到文件最底部,添加下一行代码
include vhost/*.conf;
# 然后回到conf目录下,新建一个vhost目录,在vhost中新建一个myproject.conf文件,内容如下:
server {
listen 8093;
server_name idandan.vip; # substitute your machine's IP address or FQDN
charset utf-8;
# 静态文件所在位置,可以自己定义
location /static {
root /usr/local/nginx/html/django/myprojec/;
}
location / {
root /usr/local/nginx/html/django/myproject;
uwsgi_pass 127.0.0.1:8010; # 端口跟socket端口要保持一致
include uwsgi_params; # the uwsgi_params file you installed
}
}
# 在项目文件夹下添加uwsgi.ini文件,方便后台启动,不用每次都输入一堆命令,具体代码如下:
[uwsgi]
socket = :8010 # 端口号和myproject.conf文件中的uwsgi_pass参数中的端口保持一致
chdir = /usr/local/nginx/html/django/myproject
wsgi-file=myproject/wsgi.py
module = myproject.wsgi
master = true
processes = 4
vacuum = true
pidfile =pid.uwsgi
daemonize = UWSGI.log
uwsgi --ini uwsgi.ini
这时候访问浏览器 ip地址:8093
就可以看到效果了。