(步驟)javascript
sudo apt-get install apache2 查看版本 apachectl -v Server version: Apache/2.4.18 (Ubuntu) Server built: 2017-09-18T15:09:02
sudo vim /etc/hosts 127.0.0.1 localhost 127.0.0.1 www.pyweb.cn
出現 Apache2 Ubuntu Default Page 或It works! 則成功
sudo apt-get install libapache2-mod-wsgi-py3
安裝完成後 進入 /usr/lib/apache2/modules 目錄 cd /usr/lib/apache2/modules 查看是否存在mod_wsgi.so-3.5
編輯配置文件
sudo vim /etc/apache2/apache2.conf 在文件的最後 添加 LoadModule wsgi_module /usr/lib/apache2/modules/mod_wsgi.so-3.5
編輯網站配置文件
sudo vim /etc/apache2/sites-available/推薦和項目同名或者使用域名.conf
配置內容:
<VirtualHost *:80> # 服務端口號 web服務默認80不推薦修改 ServerName www.pyweb.cn # 指定域名 剛剛修改的hosts文件添加的域名 ServerAdmin py@163.cn # 郵箱隨便 #wsgi文件目錄 講apache和django鏈接在一塊兒 WSGIDaemonProcess python-path=/var/www/project # python-path=/var/www/項目名字 WSGIScriptAlias / /var/www/myproject/myproject/wsgi.py # /var/www/項目名/項目同名的文件夾/wsgi.py <Directory /var/www/myproject/myproject> # /var/www/項目名/項目同名目錄 <Files wsgi.py> Require all granted </Files> </Directory> #項目文件目錄 DocumentRoot /var/www/myproject # /var/www/項目名 指定項目目錄 <Directory /var/www/myproject> Require all granted </Directory> #靜態文件目錄 # 指定項目靜態資源路徑 Alias /static/ /var/www/myproject/static/ # /var/www/項目名/static/ <Directory /var/www/myproject/static/> Require all granted </Directory> #錯誤日誌 日誌名能夠本身定義 ErrorLog ${APACHE_LOG_DIR}/django-myproject-error.log CustomLog ${APACHE_LOG_DIR}/myproject-django.log combined </VirtualHost>
cd /etc/apache2/sites-enabled sudo ln -s ../sites-available/自定義名字推薦域名.conf ./
sudo a2ensite myproject.conf 若是須要讓這個配置失效,能夠執行 sudo a2dissite myproject.conf
首先把myproject項目目錄拷貝至 /var/www/目錄下 在將其ALLOWED_HOSTS=[]改成 ALLOWED_HOSTS=['www.pyweb.cn'],多個域名能夠經過逗號隔開。
import os os.environ["DJANGO_SETTINGS_MODULE"] = "myproject.settings" # myproject.settings 改爲 項目名.settings 不改會報服務器內部錯誤 from os.path import join,dirname,abspath PROJECT_DIR = dirname(dirname(abspath(__file__))) import sys sys.path.insert(0,PROJECT_DIR) from django.core.wsgi import get_wsgi_application application = get_wsgi_application()
sudo service apache2 restart 和python manage.py runserver 測試環境不一樣 在Apache 下每次修改都要重啓apache
給static文件夾或項目目錄文件遞歸追加一個www-data用戶權限 sudo setfacl -R -m u:www-data:rwx 項目文件夾名/
在配置apache的時候,出現了問題,好不容易把apache服務配置好php
可是隻能用在Ubuntu裏訪問那個具備標誌性的網頁,It works !css
在ubuntu 服務器裏我是這樣訪問的java
首先,查看服務器的內網IPpython
而後用elinks 命令linux
elinks http://172.17.45.112nginx
而後我又在個人電腦裏面用外網訪問,可是一直是不能夠的,我一直查資料,可是就是找不到,web
那些方法都解決不了,後來我想到個人是阿里雲服務器,而後就去了阿里官網,找,終於找到了,sql
裏面是這樣介紹這個問題的apache
緣由分析:安全組默認沒有放行網站使用的端口(如80端口)。你須要自行放行該端口
而後順藤摸瓜,找到了問題的解決方法
在安全組規則裏面添加了一個安全組規則
添加安全組規則以下 :
這裏有個教我設置,這裏你能夠根據他提供的設置好
而後我再打開瀏覽器訪問個人公網地址
而後就能夠訪問了!!!
這樣公網ip地址就能夠訪問遠程apache了.
重點來了:
以後用公網訪問阿里雲服務器的apachehost地址, 只出現It works ! 頁面.
最後是以前配置的問題,在6,建立網站配置文件裏,Servername 寫的假域名,這個只能在本地瀏覽器進行域名訪問.是假的騙本身的.
若是想要聯網遠程訪問,Servername 應該寫本身的服務器公網IP,而後在本身配置的項目路徑/var/www/web/settings.py 裏 ALLOW_HOST['*'] 或者 ALLOW_HOST['本身的公網ip'] 監聽全部端口,即全部端口都能訪問.
Linux系統爲Ubuntu
1、Start Apache 2 Server /啓動apache服務
# /etc/init.d/apache2 start
or
$ sudo /etc/init.d/apache2 start
2、 Restart Apache 2 Server /重啓apache服務
# /etc/init.d/apache2 restart
or
$ sudo /etc/init.d/apache2 restart
3、Stop Apache 2 Server /中止apache服務
# /etc/init.d/apache2 stop
or
$ sudo /etc/init.d/apache2 stop
項目最後一點驗證碼的問題:
首先在雲服務器安裝字體
以ubuntu服務器爲示例:
首先,先安裝字體庫所須要的控件
apt-get install xfonts-utils
apt-get install fontconfig
apt-get install ttf-dejavu-core
而後,將你下載好的字體文件放置到以下位置(.ttf文件):
將下載好的字體複製到/usr/share/fonts/truetype/路徑下
(Linux的字體都在/usr/share/fonts這個目錄裏,一種字體就是這個目錄下面的一個子目錄。
注意,若是把Windows某個字體的ttf文件複製到某個新建的子目錄裏面,
還須要在子目錄裏用root用戶身份依次執行以下三條命令,這個字體才能用,並非複製到/usr/share/fonts目錄就能夠用了.)
而後,在fonts路徑下執行如下命令行
sudo mkfontscale (建立字體的fonts.scale文件,它用來控制字體旋轉縮放)
sudo mkfontdir (建立字體的fonts.dir文件,它用來控制字體粗斜體產生)
sudo fc-cache -fv (創建字體緩存信息,也就是讓系統認識認識雅黑)創建路徑和緩存以後,重啓服務器或者重啓服務,讓系統識別新加入的字體庫。
最後就是導入驗證碼的Pillow包.
安裝Pillow:pip install pillow 查看: pip3 list
這樣驗證碼就好使了.
最後的最後:
在阿里雲購買了二手域名. 域名解析我本身的服務器地址.
而後再項目裏配置好服務器web.conf裏的Servername的服務器名字改爲本身的域名,以前是用公網Ip訪問的, 開啓Apache.