nginxのベースuwsgiデプロイジャンゴ(スタンドアロン建物)
参考リンク:https://blog.51cto.com/wangfeng7399
https://blog.51cto.com/wangfeng7399/2341281
https://blog.csdn.net/shylonegirl/article/details/83030024
インストールnignx
yum -y install nginx (需要epel源)
インストールの依存関係
yum groupinstall "Development tools"
yum -y install zlib-devel bzip2-devel pcre-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel
yum -y install python2-pip
yum -y install python-devel
安装uwsgi,django
pip install --upgrade pip
pip install uwsgi
pip install django==1.11.11
Djangoプロジェクトを作成します。
mkdir /data;cd /data
django-admin startproject myapp #在/data下创建django项目myapp
作成アプリ
python manage.py startapp web
myappに/ settings.pyを修正
myappのは、ホームディレクトリのDjangoのプロジェクトです
28 ALLOWED_HOSTS = ['*']
40 'web',
121 STATIC_URL = '/static/'
122 STATICFILES_DIRS=[os.path.join(BASE_DIR, 'static')]
myappに/ urls.pyを修正
from web.views import *
urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'^index/',index)
]
myappに/ウェブ/ view.pyを変更
from django.shortcuts import render,HttpResponse
def index(request):
return HttpResponse('停车坐爱枫林晚,霜叶红于二月花')
python manage.py runserver 0.0.0.0:8080
#输入网址 http://<服务器ip地址>:8080/index, 如果配置正确,可以访问web服务
ランチャー
uwsgi --http :8000 --module myapp.wsgi
#此时uwsgi程序已经开启,切换到django根目录myapp,输入网址 http://<服务器ip地址>:8000, 如果配置正确,可以访问web服务
新uwsgiプロフィール
uwsgiターン後にWebサービスにアクセスできる場合、configure uwsgiプロファイルに続けます
uwsgi支持ini、xml等多种配置方式,本文以 ini 为例, 在/etc/目录下新建uwsgi_nginx.ini,添加如下配置:
[uwsgi]
http = 127.0.0.1:8000
#the local unix socket file than communicate to Nginx
socket = /data/myapp/mysit.socket
#the base directory(full path)
chdir = /data/myapp
#Django's wsgi file
wsgi-file = myapp/wsgi.py
#maximum number of worker processes
processes = 4
#thread numbers startched in each worker process
threads = 2
#clear environment on exit
vacuum = true
daemonize = /data/myapp/uwsgi.log
py-autoreload=1
スタートuwsgiプロフィール
uwsgi --ini /etc/uwsgi_nginx.ini
準備プロフィール
新しいファイル/etc/nginx/uwsgi.conf、目的は、することですnginxのuwsgiせて、相互に通信
uwsgi_param QUERY_STRING $query_string;
uwsgi_param REQUEST_METHOD $request_method;
uwsgi_param CONTENT_TYPE $content_type;
uwsgi_param CONTENT_LENGTH $content_length;
uwsgi_param REQUEST_URI $request_uri;
uwsgi_param PATH_INFO $document_uri;
uwsgi_param DOCUMENT_ROOT $document_root;
uwsgi_param SERVER_PROTOCOL $server_protocol;
uwsgi_param REQUEST_SCHEME $scheme;
uwsgi_param HTTPS $https if_not_empty;
uwsgi_param REMOTE_ADDR $remote_addr;
uwsgi_param REMOTE_PORT $remote_port;
uwsgi_param SERVER_PORT $server_port;
uwsgi_param SERVER_NAME $server_name;
設定ファイルのパーミッションを変更します。
chown nginx.root uwsgi.conf
構成ファイルを変更nginxの
/etc/nginx/nginx.conf
location / {
include /etc/nginx/uwsgi.conf;
proxy_pass http://127.0.0.1:8000;
root html;
index index.html index.htm;
}
PS:nginxの接続uwsgiへの3つの方法があります。
方式一:
uwsgi.ini 里面指定为http = 127.0.0.1:8000
nginx的配置文件里面需要写
proxy_pass http://127.0.0.1:8000;
方式二:
uwsgi.ini里面指定为socket = 127.0.0.1:8000
nginx的配置文件需要写
include /etc/nginx/uwsgi.conf;
uwsgi_pass 127.0.0.0:8000;
方式三:
uwsgi.ini里面指定为socket = /data/mysite/mysite.socket
nginx的配置文件需要写
include /etc/nginx/uwsgi.conf;
uwsgi_pass unix:/data/mysite/mysite.socket;
構成が正常に行われていることを確認します
输入网址: http://<服务器ip地址>/index #正常可以访问web服务