日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

apache2部署django以及静态文件

發(fā)布時間:2025/7/14 编程问答 14 豆豆
生活随笔 收集整理的這篇文章主要介紹了 apache2部署django以及静态文件 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

django中的runserver只是一個很簡單的web服務器,在開發(fā)中是不建議使用的,django在官方中建議是使用apache2等web服務器來配置,并且django會把靜態(tài)文件交由apache2等來處理,django認為這是一種高效的方法。其中最難理解的就是static files的配置,這里簡單說一下。

我是在阿里云上的配置的服務器,系統(tǒng)是ubuntu16。

1 首先安裝apache2

sudo apt-get install apache2sudo apt-get install libapache2-mod-wsgi# 如果是Python 3,則將第二行替換為改行 sudo apt-get install libapache2-mod-wsgi-py3

2 然后執(zhí)行命令

sudo a2enmod wsgi

(很多博客里都沒說到這一步,導致在啟動apache時,會提示Invalid Command WSGIScript)

(ubuntu的apache的配置文件在/etc/apache2下面)

3 這里我的工程是在/home/blog下面。首先新建一個配置文件

sudo vi /etc/apache2/sites-available/blog.conf

然后輸入下面內(nèi)容

<VirtualHost *:80>ServerName www.wanghui.comServerAlias wanghui.comServerAdmin wzxwhd@126.comAlias /media/ /home/blog/media/Alias /static/ /home/blog/static/<Directory /home/blog/media>Require all granted</Directory><Directory /home/blog/static>Require all granted</Directory>WSGIScriptAlias / /home/blog/blog/wsgi.py<Directory /home/blog/blog><Files wsgi.py>Require all granted</Files></Directory> </VirtualHost>

(在這里就要注意了:靜態(tài)文件的處理。在開發(fā)過程中,一般靜態(tài)文件都是放在app下面的static里,當settings.py中的Debug=True時,此時django會自己處理靜態(tài)文件,但是當在部署階段時,你需要在settings.py中加入:

STATIC_ROOT = os.path.join(BASE_DIR, 'static')

然后執(zhí)行

sudo python managy.py collectstatic

這樣django會自動把你的靜態(tài)文件拷貝到項目根目錄下的static文件夾里,并且你也無需擔心你的html路徑問題。

保存退出,然后

sudo vim /etc/apach2/envars

將文件中的APACHE_RUN_USER 和 APACHE_RUN_GROUP改為合適的用戶名和組,這里不還,后面的靜態(tài)文件會有權限問題的!!

緊接著修改wsgi文件,/homg/blog/blog/wsig.py

import os PROJECT_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) import sys sys.path.insert(0,PROJECT_DIR)

這一步主要是為了讓apache知道你項目的位置。

4 設置目錄權限

一般目錄權限設置為 755,文件權限設置為 644?

項目位置在 /home/blog?

cd /home/ sudo chmod -R 644 blog sudo find blog -type d -exec chmod 755 {} \;

5 啟動服務

sudo a2ensite blog

這樣就ok了

?

轉載于:https://www.cnblogs.com/wzxwhd/p/6290784.html

總結

以上是生活随笔為你收集整理的apache2部署django以及静态文件的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。