Djangoの展開

nginxのをインストールします。

yum install nginx

nginxの開始

systemctl start nginx.service
systemctl enable nginx.service

インストールPython3.6

yum install https://centos7.iuscommunity.org/ius-release.rpm -y 
yum install python36u  -y
yum install python36u-pip python36u-devel  -y

清華ミラーリングされたPythonのPIP設定

mkdir ~/.config/pip 次に、ファイルpip.conf内で次のコードを追加します

[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple

MySQLをインストールします。

  1. MySQLの公式のYumリポジトリをダウンロードしてインストールしwget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm、直接、ヤムリポジトリのインストールをダウンロードする25キロバイトについて検索し、あなたが直接yumをインストールすることができます上記のコマンドを使用して。

yum -y install mysql57-community-release-el7-10.noarch.rpm そして、MySQLサーバをインストールし始めました。

yum -y install mysql-community-server

  1. データベース設定

スタート systemctl start mysqld.service

動作ステータスを見て systemctl status mysqld.service

コマンドのパスワードを探します grep "password" /var/log/mysqld.log

パスワードの変更 ALTER USER 'root'@'localhost' IDENTIFIED BY 'new password';

パスワードの検証を変更

mysql> set global validate_password_policy=0;
mysql> set global validate_password_length=1;

yumのリポジトリMySQLを削除します yum -y remove mysql57-community-release-el7-10.noarch

仮想環境を初期化します

ためにクリーンな外部環境に影響を与えるので、私たちは、Djangoのプロジェクトを設定するには、仮想環境を使用しません

cd /home/
mkdir django
cd django
python3.6 -m venv venv

作成したら、以下のコマンドを実行し、仮想環境を入力してください source venv/bin/activate

次に、仮想環境でジャンゴをインストールしてプロジェクトを初期化します

pip install django
django-admin startproject my
cd my 
python manage.py startapp mine

pip install mysqlclient ときに文句を言うだろう

mysqlの依存をインストールするには yum install mysql-devel gcc gcc-devel python-devel

プレビューアイテム

一度アプリケーションを作成し、私たちはDjangoがドメイン名のすべての要求を処理することができませんし、私の/ settings.pyを修正する必要があり

DEBUG = False
# 修改允许的域名
ALLOWED_HOSTS = ['ip地址']

静的収集python manage.py collectstaticファイル:

編集した後、Djangoのテストサーバを起動するには、次のコマンドを実行します。

python /home/django/my/manage.py runserver 0.0.0.0:80

この時点で、IPアドレスにアクセスするには、プレビューインターフェースを見ることができます

インストールUwsgi

  1. uwsgiは、ネットワークが非静的ファイルは、彼によって行われなければならない要求し、彼はまだ彼の強いポイント、ファイルサーバとして機能することはできませんが、アプリケーション・サーバです。uwsgiはそうを通じて、Pythonで書かれているpip install uwsgiこと。(uwsgiは、システムレベルのPython環境にインストールする必要があり、仮想環境をインストールしないでください)。
  2. コマンドを使用しますuwsgi --http :8000 --module zhiliaoketang.wsgi --vritualenv=/root/.virtualenvs/django-env-py2使用uwsgiブラウザでこのページへのアクセス権を持っている場合は、説明は、プロジェクトを開始するuwsgiプロジェクトをロードすることができます。

設定Uwsgi

まずは、Djangoの設定ファイルを格納するためのディレクトリを作成してみましょう

ます。mkdir -p /ホーム/ django_conf

次に、[uwsgi.ini]このディレクトリにファイルを作成します。

サンプルコード:/home/django_conf/uwsgi.ini

[uwsgi]

# Django相关的配置
# 必须全部为绝对路径
# 项目的路径
chdir           = /srv/zhiliaoketang
# Django的wsgi文件
module          = zhiliaoketang.wsgi
# Python虚拟环境的路径
home            = /root/.virtualenvs/django-env-py2

# 进程相关的设置
# 主进程
master          = true
# 最大数量的工作进程
processes       = 10
# socket文件路径,绝对路径
socket          = /srv/zhiliaoketang/zhiliaoketang.sock
# 设置socket的权限
chmod-socket    = 666
# 退出的时候是否清理环境
vacuum          = true

その後、コマンドを使用しuwsgi --ini zhiliaoketang.ini、それはプロジェクトを開始することができるかどうかを見てください。

nginxの設定

Uwsgiを設定したら、(のは、nginxの設定ファイルを作成してみましょう/etc/nginx/conf.d/my.conf

サンプルコード:/etc/nginx/conf.d/my.conf

upstream name {
	
	server unix:///root/django/project_name/name.scok
}


server {
    listen      80;
    server_name ip地址 域名;
    charset     utf-8;

    client_max_body_size 75M;

    location /media  {
        alias /root/django/my/media; # media路径
    }

    location /static {
        alias /root/django/my/static; # static文件路径
    }

    location / {
        uwsgi_pass  unix:///root/django/my/my.sock; # 跟uwsgi配置的socket要保持一致
        uwsgi_pass  name
        include     /etc/nginx/uwsgi_params;
    }
}

その後、nginxのを再起動します

systemctl restart nginx.service

設定Supervisord

スーパーバイザコンフィギュレーションを使用します。スーパーバイザuwsgi管理を行い、uwsgi事故の場合には、それが自動的に再起動しますがあります。

  1. supervisorインストール:システム・レベルのPython環境でpip install supervisor
  2. プロジェクトのルートディレクトリと呼ばれるファイルを作成しますzlkt_supervisor.confこれは次のように読み取ります。
# supervisor的程序名字
[program:mysite]
# supervisor执行的命令
command=uwsgi --ini zlkt_uwsgi.ini
# 项目的目录
directory = /srv/zhiliaoketang 
# 开始的时候等待多少秒
startsecs=0
# 停止的时候等待多少秒
stopwaitsecs=0  
# 自动开始
autostart=true
# 程序挂了后自动重启
autorestart=true
# 输出的log文件
stdout_logfile=/srv/zhiliaoketang/log/supervisord.log
# 输出的错误文件
stderr_logfile=/srv/zhiliaoketang/log/supervisord.err

[supervisord]
# log的级别
loglevel=info

# 使用supervisorctl的配置
[supervisorctl]
# 使用supervisorctl登录的地址和端口号
serverurl = http://127.0.0.1:9001

# 登录supervisorctl的用户名和密码
username = admin
password = 123

[inet_http_server]
# supervisor的服务器
port = :9001
# 用户名和密码
username = admin
password = 123

[rpcinterface:supervisor]
supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface

その後、コマンドを使用しsupervisord -c zlkt_supervisor.conf、その上で実行します。後で起動したい場合はuwsgi、あなたが命令することができるsupervisorctl -c supervisor.conf管理コンソールには、関連するコマンドを実行し、管理することができます。

  • ビューステータスステータス#
  • program_nameの#Startプログラムを開始
  • 再起動program_nameの#再起動プログラム
  • 停止program_nameの番号は、プログラムを閉じます
  • リロード#設定ファイルをリロード
  • コンソール#終了を終了

おすすめ

転載: www.cnblogs.com/huameixiao/p/11599822.html