部署Django到阿里雲伺服器教程
原文轉載於:https://blog.csdn.net/qq_41590417/article/details/80509098
部署Django到阿里雲伺服器教程
基於Ubuntu16.04 + Python3 + nginx + mysql + Django
接下來先安裝這些必要的環境,這些操作都是在你已經購買了阿里雲伺服器。並且在本地你已經搭建好了Django部落格。現在我們所做的就是把本地的環境在阿里雲的伺服器上重新搭一遍。
這裡先簡單的說一下阿里雲伺服器,我自己買的是雲伺服器ESC,需要配置一下安全組規則,就是埠,按下圖配置即可,最重要的是22和88埠。
然後就是我們的伺服器在例項裡,我的是Ubuntu16.04,要部署到阿里雲上點選遠端連線,第一次點選會彈出一個密碼,這就是你在阿里雲登入遠端連線的密碼,一定要記好,就會彈出這一次!
輸入密碼之後就進入了Ubuntu命令列模式,這時候你輸入你的Ubuntu賬號,預設root,然後輸入密碼,密碼是你在買伺服器時候就設定的,成功之後就進入了Ubuntu系統,我們整個部署過程都是在這個Ubuntu系統裡,命令列下進行。所以需要你多少掌握一些Ubuntu命令列的知識!
整個部署過程我們還是使用到一個重要的軟體Xftp,這個軟體就相當於Ubuntu的介面系統,我們通過它連線上我們阿里雲伺服器的Ubuntu系統,連線成功之後就可以直接在本地通過Xftp和阿里雲Ubuntu系統傳送檔案。
開啟Xftp新建會話,然後在主機輸入你的阿里雲伺服器公網IP,下面的賬號密碼可以先不輸入,點選確定後會提示你輸入。
點選確定後會提示你輸入賬號,賬號就是Ubuntu的預設root
然後輸入密碼
點選確定就進入了Ubuntu系統
這個左面顯示的是你的桌面,右面新建會話顯示的就是阿里雲伺服器上Ubuntu系統的目錄結構,在這裡我們可以直接從左面(你的本地桌面)往右面(阿里雲的Ubuntu系統)拖拽檔案,這個在後面我們部署的時候會非常方便!
一、安裝必要的軟體
1、安裝Django
先安裝pip3:
sudo apt-get update
sudo apt-get install pip3
- 然後安裝Django,這個地方要注意安裝你所使用的Django版本:
pip3 install django2.0
2、安裝nginx
sudo apt-get update
sudo apt-get install nginx
安裝完成後。用你電腦的瀏覽器訪問你的伺服器的公網ip地址,看看安裝成功沒有!
3、安裝uwsgi
-
在你的本地電腦訪問https://uwsgi-docs.readthedocs.io/en/latest/Download.html,下載Stable/LTS版本的原始檔。
-
本地下解壓這個原始檔,然後用xftp把檔案拖放到阿里雲的Ubuntu的家目錄(home)下,使用cd命令進入到該資料夾下,按順序依次輸入下面三條命令:
sudo apt-get install python3-setuptools sudo apt-get install python3-dev sudo python3 setup.py install
4、安裝MySQL(如果使用Django自帶的資料庫,跳過這步)
-
輸入下面安裝命令:
sudo apt-get install mysql-server mysql-client
安裝過程中會出現叫你輸入密碼,這個密碼一定要記住!
-
安裝完成輸入下面命令:
mysql -u root -p
然後輸入你剛剛設定的密碼,進去之後輸入下面命令:
create database myblog
建立一個myblog資料庫,這個資料庫名字跟你將來要還原的資料庫名字一樣,用xftp把你在本地備份的sql檔案拖到阿里雲Ubuntu的家目錄(home)下。
-
還原資料庫;進入家目錄(home),輸入下面命令:
sudo mysql -u root -p myblog<myblog.sql
-
配置mysql檔案:
sudo vim/etc/mysql/mysql.conf.d/mysqld.cnf
然後註釋掉下面這行程式碼
# band-address = localhost
二、配置專案
經過上面的步驟,如果一切順利你就已經把所需要的軟體和環境搭建好了,接下來我們就開始配置我們的部落格專案。
1、配置部落格專案
先用xftp把你的整個部落格專案拖到家目錄(home)那裡,然後開始配置nginx檔案:
cd /etc/nginx/sites-available
vim default
使用cd命令進入到sites-available資料夾,資料夾下有一個default檔案,使用vim開啟它,找到default檔案下的這段程式碼,如果沒有就要新增上去:
server_name 192.168.1.121;
location / {
# First attempt to serve request as file, then
# as directory, then fall back to displaying a 404.
# try_files $uri $uri/ =404;
include uwsgi_params;
uwsgi_pass 127.0.0.1:8000;
}
location /static {
alias /home/feixue/python/www/for_test/static;
}
location /media {
alias /home/ubuntu/blog/media;
}
192.168.1.121替換成你自己伺服器公網IP地址;
static 那裡也要替換成你自己Django專案的static路徑;
media 同理換成你自己Django專案的media路徑,這是媒體檔案的資料夾;
注意:location後面是有空格的,必須要有!alias後面也是有空格的;include上面那句話也是要註釋掉的!
修改成完成後使用 wq 儲存退出(vim編輯器知識不懂的百度吧)
再輸入下面命令重啟服務:
sudo service nginx restart
2、配置uwsgi
在部落格專案的根目錄下,也就是有manage.py檔案的目錄下,新建一個uwsgi.ini檔案和一個run.log檔案
然後我們使用vim編輯器編輯uwsgi.ini檔案:
vim uwsgi.ini
檔案開啟是空的,我們新增如下程式碼:
[uwsgi]
chdir = /home/feixue/python/www/for_test
module = for_test.wsgi:application
socket = 127.0.0.1:8000
master = true
daemonize = /home/feixue/pyth/for_test/run.log
disable-logging = true
chdir 是你的部落格專案的根目錄,我這裡的專案名叫for_test;你要替換成你自己的路徑;
moudule 是你的入口wsgi模組,將for_test替換成你自己的專案名稱;
socket 是通訊埠設定,這個設定不用改,複製即可;
master = true 表示以主程式模式執行,不用改,複製即可;
daemonize 是你的日誌檔案目錄,這個路徑就是剛剛新建的run.log檔案的路徑;
disable-logging = true 表示不記錄正常資訊,只記錄錯誤資訊,否則你的日誌可能很快就爆滿了!
3、配置MySQL(如果使用Django自帶的資料庫,這步可以跳過)
修改setting.py 所在目錄的那個 init.py檔案使用vim編輯器開啟init.py檔案輸入一下程式碼:
import pymysql
pymysql.install_as_MySQLdb()
安裝mysql驅動:
pip3 install pymysql
4、修改settings.py檔案
開啟settings.py檔案找到下面程式碼並修改:
DEBUG = False
ALLOWED_HOSTS = ['192.168.178.128']
注意其中的IP地址要替換成你自己阿里雲公網的IP。
如果你順利的完成了上面的步驟,那麼恭喜你!你可以直接去瀏覽器輸入你的公網IP地址,就可以訪問了!
接下來我還會更新一些在部署中遇到的問題和解決辦法,如果你遇到什麼問題歡迎留言!
相關文章
- 把django專案部署到阿里雲伺服器流程Django阿里伺服器
- 【django輕量級框架】django專案部署到阿里雲伺服器流程Django框架阿里伺服器
- 阿里雲伺服器部署django專案阿里伺服器Django
- 新部署 Laravel 到阿里雲伺服器Laravel阿里伺服器
- 教程 Web 入門之部署到阿里雲Web阿里
- SpringBoot專案部署到阿里雲伺服器全流程Spring Boot阿里伺服器
- 阿里雲部署Django專案(nginx+uWSGI)阿里DjangoNginx
- Djang專案部署阿里雲伺服器(四)之執行Django專案阿里伺服器Django
- Laravel 部署到阿里雲 / 騰訊雲Laravel阿里
- vue專案部署到阿里雲伺服器(windows - Nginx代理)Vue阿里伺服器WindowsNginx
- vue專案部署到阿里雲伺服器(windows),Nginx代理!Vue阿里伺服器WindowsNginx
- 阿里雲伺服器部署mongodb阿里伺服器MongoDB
- 阿里雲部署Django專案(nginx+uWSGI)-2018.11阿里DjangoNginx
- 如何在阿里雲上部署 Django 應用程式阿里Django
- Laravel部署到阿里雲CentOS/DebianLaravel阿里CentOS
- 使用Intellij IDEA快速部署SpringBoot專案到阿里雲伺服器IntelliJIdeaSpring Boot阿里伺服器
- 基於Thinkphp環境部署到阿里雲伺服器/寶塔PHP阿里伺服器
- 阿里雲centos7部署Django專案阿里CentOSDjango
- unigui在阿里雲伺服器上部署GUI阿里伺服器
- 阿里雲伺服器部署Mongodb服務阿里伺服器MongoDB
- laravel-admin配置到阿里雲linux伺服器中,使用Docker映象部署Laravel阿里Linux伺服器Docker
- hexo使用jenkins自動部署到阿里雲HexoJenkins阿里
- Django + react + 阿里雲ecs 前後端分離部署上線DjangoReact阿里後端
- 阿里雲伺服器Nginx的安裝與部署阿里伺服器Nginx
- 如何把本地的Django專案部署到伺服器(親測)Django伺服器
- 騰訊雲伺服器 Django專案部署 傻瓜式部署全流程 (一)伺服器Django
- 阿里雲Freeswtich部署阿里
- Vue專案打包到django部署VueDjango
- 阿里雲ECS伺服器部署Dart服務端程式阿里伺服器Dart服務端
- 阿里雲伺服器部署web專案全過程阿里伺服器Web
- 在雲伺服器中部署stable diffusion webui教程。伺服器WebUI
- Nginx + Gunicorn 伺服器配置部署 DjangoNginx伺服器Django
- 在阿里雲 ACK 上部署 EMQX MQTT 伺服器叢集阿里MQQT伺服器
- 阿里雲伺服器ECS搭建網站詳細教程阿里伺服器網站
- Nginx+uWSGI+Django部署web伺服器NginxDjangoWeb伺服器
- 一個django APP 的伺服器部署DjangoAPP伺服器
- 如何把本地網站部署到雲伺服器上網站伺服器
- 本地郵箱可以傳送,部署到阿里雲之後不行阿里