djangoベースの個人ブログサイト構築(六)

5886 ワード

djangoベースの個人ブログサイト構築(六)
前言
今日主に完成したのはプロジェクトがテンセントクラウドサーバーの上でubuntu 16.04+django+mysql+uwsig+nginxの配置過程のウェブサイトの効果はここをクリックしてアクセスすることができます
主な内容
手順に従って一歩一歩話す
1.python環境のインストールとpipのインストール
ここでは仮想環境は採用されておらず、プロジェクトを直接実行するので、python 3のインストールとpipを使用して必要なライブラリのインストールを構成し、私のプロジェクトはdjango、markdown、pymysqlをインストールする必要があります.
2.プロジェクトファイルをローカルからサーバに配置する
私のプロジェクトファイルはgithubにアップロードされているので、直接サーバー上でcloneして、後期に変更があっても引き出すことができます.同時にdjangoプロジェクトのsettingのdebugモードをオフにして、最後にmigrationsファイルの移行で生成されたpyファイルも削除することを覚えています.私のデータベースはプロジェクトを書くときにローカルのデータベースを使っているので、では、サーバ上のデータベースは新規なので、生成テーブルを再移行する必要があります.もちろん、以前からサーバ上のデータベースを使用していた場合は、変更する必要はありません.元と同じように使用すればいいです.
3.データベースの構成
まずmysqlをインストールします.
sudo apt-get install mysql-server
sudo apt install mysql-client
sudo apt install libmysqlclient-dev

それからデータベースに入ってmyblogデータベースを作成して、ここで文字セットがutf 8であることを保証して、さもなくば中国語の文字を保存することができません
CREATE DATABASE myblog DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

次の
python3 manage.py makemigrations
python3 manage.py migrate

それでいい
4.簡単なテスト
サーバ上で実行することで、ipとポートを介してローカルで実行にアクセスできるかどうかをテストできます.
python3 manage.py runserver 0.0.0.0:8000 --insecure

ここでinsecureパラメータは、非debugモードで静的ファイルを取得するために使用されます.成功すれば、ip:8000を介してローカルでアクセスできます.
5.uwsgiの構成
uwsgiのインストール
sudo apt-get install build-essential python-dev
sudo pip3 install uwsgi

次にmanage.py兄弟ディレクトリの下でmy_を作成します.uwsgi.iniファイル(名前が勝手に付けられた)ファイルに格納されます.
[uwsgi]
# uwsgi   socket,     Nginx   
socket = 127.0.0.1:8000
#  app         ,   Django     
chdir           = /home/ubuntu/github/myBlog/myBlog
#      python WSGI  ,   Django   wsgi  
module          = myBlog.wsgi
#     master         
master          = true
#       
processes       = 4
#           
threads = 2
#              unix socket   pid  
vacuum          = true
#         ,               udp   
daemonize = /home/ubuntu/github/myBlog/myBloguwsgi.log

6.nginxの構成
nginxのインストール
sudo apt-get install nginx

試験nginx:
/etc/init.d/nginx start

アクセスhttp://IP Welcome to nginxが表示され、nginxのプロファイルsudo vim/etc/nginx/nginx.confがhttpに次の内容を追加します.
server {
    listen         8888; #        
    server_name    XXX.XXX.XXX.XXX; #         ,        IP  ,     IP 
    charset        UTF-8;  #          
    access_log     /var/log/nginx/myBlog_access.log; #       
    error_log      /var/log/nginx/myBlog_error.log;  #       
    location / {   #            
        include uwsgi_params;
        uwsgi_pass 127.0.0.1:8000; #   uwsgi   socket
        uwsgi_read_timeout 2;
    }   
    location /static {   #       ,nginx    
        expires 7d;      #     
        alias /home/ubuntu/github/myBlog/myBlog/statics/;  #         
     }
 }

7.正式起動
プロジェクトルートで実行
uwsgi --ini myBlog_uwsgi.ini

そして実行
/etc/init.d/nginx restart

アクセスhttp://ip:8888プロジェクトにアクセスできます
まとめ
プロジェクトの配置は基本的に完成して、私もドメイン名を作って、届け出ています.ドメイン名の所有者の名前の英語の名前は中国語名の中国語のピンインではありませんので、修正しなければなりません.また何日も引きずらなければなりません.