Ubuntu1804ジャンゴ・デプロイメント構成上のApache2を使用します。
1.まず、インストールのapache2
須藤はapt-getをインストールapache2の
須藤はapt-getのインストールとlibapache2-MOD-WSGI - PY3
2.ディレクトリ構造
Apache2のディレクトリ構造:それぞれの改造、confに、利用可能なサイトの3つのタイプが、使用可能なディレクトリには、有効な設定ファイルが含まれている2つのフォルダを、有効にするには、ディレクトリLNのみを有効にするために、リンクのみを動作しません。作品。フォーカスはports.confと二つのプロジェクト.confの設定ファイルです。
の/ etc / apache2の/
| - apache2.conf#のマスター設定ファイル、
| ` - ports.confの#ポートプロファイルを聴い
| - MODS対応
| | - * .LOAD
|` - * .confを
| - - confの対応
| ` - * .confを
| -サイト対応の#プロジェクト設定ファイルのディレクトリ、一つだけのファイル
|` - * .confの#プロジェクトの設定ファイル、ファイル名は、blogs.confとして、プロジェクトに応じて決定されます
3.テスト:
スムーズに実行することが保証され、Djangoの独自のテスト・サーバーを使用してください。
4. apache2の設定ファイルを作成します。
apache2のサイトで入手可能なディレクトリで次のコマンドは、blogs.confとしてあなたのWebプロジェクトの名前を記入するプロジェクト名を含めて、プロファイルを作成します。あなたもこの設定ファイルには、複数の仮想ホストを持っている場合。
<VirtualHostの*:80>
のServerNameはlocalhost:80の#は自分のドメインネームサーバを記入し たIPにServerAlias otherdomain.com#他のドメイン名(ここでは埋めることができない)、あなたは、複数のドメイン名が同じサイトを指して使用することができますどのように多くの数に追加されます、スペースで区切って SERVERADMIN [email protected]#-mail 実際のセットに基づいて特定のパスに保存されているエイリアス/メディアパス/ /ホーム/ユーザー/プロジェクト名/メディア/#アップロードファイル、ここでは一例であり /エイリアス/静的/ /ホームパスのユーザー/プロジェクト名/静的/#静的ファイル(JS、CSS、画像およびその他のファイル)が格納され、通常はデフォルトの
#のDocumentation Licenseの <ディレクトリ/ home /ユーザー/プロジェクト名/メディア>は すべて許可された要求 </ディレクトリ> <ディレクトリ/ホーム/ユーザー/プロジェクト名/静> すべての付与された要求 </ディレクトリ> #のapache2のをとwsgi.pyことで、あなたのDjangoプロジェクトを接続 /wsgi.py WSGIScriptAlias / /ホーム/ユーザー/プロジェクト名/プロジェクト名
<ディレクトリ/ home /ユーザー/プロジェクト名/プロジェクト名> <ファイルwsgi.py> すべての付与を要求する </ファイル> </ディレクトリ> </ VirtualHost>の
<VirtualHostの*:8000>
#他の仮想ホスト
</ VirtualHost>の
ports.confでリスニングするポート番号を設定します。
5. wsgi.pyファイルを変更します
あなたのDjangoプロジェクトのパスは、元に基づいて、以下を追加し、プロジェクトファイルwsgi.pyを見つけて開き、検索します:
os.pathインポートから、DIRNAME、ABSPATH参加
インポートSYS
PROJECT_DIR = DIRNAME(DIRNAME(ABSPATH(__ FILE__)))
sys.path.insert(0、PROJECT_DIR)
#完整代码
インポートOSの
参加はos.pathインポートから、DIRNAME、ABSPATH
インポートSYS
django.core.wsgiインポートget_wsgi_applicationから
PROJECT_DIR = DIRNAME(DIRNAME(ABSPATH(__ FILE__)))
sys.path.insert(0、PROJECT_DIR)
はos.environ [ "DJANGO_SETTINGS_MODULE"] = "mysite.settings"
#1はos.environ。 SetDefault( "DJANGO_SETTINGS_MODULE"、 "mysite.settings")
アプリケーション= get_wsgi_application()
6.権限を設定し
Apacheサーバは、デフォルトのユーザーは、関連するコンフィギュレーションファイルの位置を、「WWWデータ」で実行している場合/etc/apache2/envvars。
所以我们需要修改Django项目的权限、上传文件目录、数据库文件的权限,假如你的项目放在
/home/user/项目名称
下,可以按照以下命令进行权限修改,一般用chmod 644给目录和文件授权:
CD /ホーム/ユーザー/
sudoのchmodの644のプロジェクト名は、-R&LT
sudoのプロジェクト名のD型を見つける| chmodの755にxargsの
はsudo chgrpコマンドWWW-データ項目名
はsudo chmodコマンドのグラム+ワットプロジェクト名の
CDメディア/#アップロードファイルディレクトリ
にsudo chgrpコマンド-R WWWをアップロード-データ
のsudo chmodの-R +アップロードG W
#データベースファイル
#データベースの名前変更はsudo chgrpコマンドWWW-データ項目名/db.sqlite3
はsudo chmodコマンドのグラム+ワットプロジェクト名/db.sqlite3を
7. [スタート]ウェブサイト
最後のステップは、開始するにはあなたのウェブサイトを作ります:
sudo a2ensite 项目名称.conf #启动配置文件,会在site-enabled中生成链接文件
sudo service apache2 restart #重新启动服务
8.その他の事項
- 静的ファイルは動作しません:これは共通の問題である、静的ファイルのディレクトリのパーミッションを確認するにはDjangoのsettings.pyに設定されたプロジェクト設定ファイルblogs.confを、チェックして、manage.py collectstaticをpythongで静的ファイルを収集するかどうか。
- 文字セットのエラー:
/etc/apache2/envvars中设置字符集编码类型
- 修飾settings.py ALLOWED_HOSTS = [「*」]試験は、トラブルシューティング:マシンは、IPアドレスにアクセスできず、アクセスすることができます。
- メッセージ内部サーバーエラーエラーログファイルには、/var/log/apache2/error.logを確認した場合は、一番上のステップ5、ステップ6の設定に焦点を当てました。Djangoのwsgi.pyは、ステップ5に応じて変更されることとなります。