<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
伺服器可以在阿里雲控制檯首頁 (aliyun.com)、登入 - 騰訊雲 (tencent.com)購買。
這裡我選擇購買阿里雲的雲伺服器ECS,購買時按自己需求,映象這裡選擇CentOS 7.9
購買完成後,會拿到一個公網ip
選擇遠端連線工具,有很多種,Xshell、FinalShell等。
這裡選擇FinalShell,下載:FinalShell (hostbuf.com)
開啟,連線。
連線的密碼如果不知道或忘記了
安裝git可以方便我們從直接從遠端倉庫拉取專案,當然,也可以不安裝。
安裝git
yum install git -y
建立資料夾放專案
mkdir /home/projectcd /home/project
克隆
git clone https://gitee.com/....
包含了很多開發的工具
yum -y groupinstall "Development tools"
各種依賴
yum install openssl-devel bzip2-devel expat-devel gdbm-devel readline-devel sqlite-devel psmisc libffi-devel
1.前往使用者根目錄
cd ~
2.下載mysql57
wget http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
3.安裝mysql57
yum -y install mysql57-community-release-el7-10.noarch.rpm yum install mysql-community-server --nogpgcheck
4.啟動mysql57並檢視啟動狀態
systemctl start mysqld.service systemctl status mysqld.service
5.檢視預設密碼並登入
grep "password" /var/log/mysqld.log
mysql -uroot -p
6.修改密碼(密碼強度有要求,需要大小寫字母、數位、符號)
ALTER USER 'root'@'localhost' IDENTIFIED BY 'Qq332525..';
1.前往使用者根目錄
cd ~
2.下載redis-5.0.5(原始碼包)
wget http://download.redis.io/releases/redis-5.0.5.tar.gz
3.解壓安裝包
tar -xf redis-5.0.5.tar.gz
4.進入目標檔案
cd redis-5.0.5
5.編譯環境
make
6.複製環境到指定路徑完成安裝
cp -r /root/redis-5.0.5 /usr/local/redis
7.設定redis可以後臺啟動:修改下方內容
vim /usr/local/redis/redis.conf
新增:
daemonize yes
8.建立軟連線(環境變數)
ln -s /usr/local/redis/src/redis-server /usr/bin/redis-server
ln -s /usr/local/redis/src/redis-cli /usr/bin/redis-cli
9.後臺執行redis
cd /usr/local/redisredis-server ./redis.conf &
10.測試redis環境
redis-cli
# 退出exit
11.如果想要關閉redis服務
# 方式一 使用者端連進去,敲 shutdown # 方式二 pkill -f redis -9
阿里雲的centos預設裝了python3.6和2.7,如果沒有硬性要求,可以直接跳過安裝python3.8。
各種依賴
yum install openssl-devel bzip2-devel expat-devel gdbm-devel readline-devel sqlite-devel psmisc libffi-devel zlib* libffi-devel -y
1.前往使用者根目錄
cd ~
2.下載Python3.8.6
wget https://registry.npmmirror.com/-/binary/python/3.8.6/Python-3.8.6.tgz
3.解壓安裝包
tar -xf Python-3.8.6.tgz
4.進入目標檔案
cd Python-3.8.6
5.把python3.8.6 編譯安裝到/usr/local/python38路徑下
./configure --prefix=/usr/local/python38
6.編譯並安裝,如果報錯,說明缺開頭的哪些依賴
make && make install
7.建立軟連線(環境變數)
ln -s /usr/local/python38/bin/python3 /usr/bin/python3.8
ln -s /usr/local/python38/bin/pip3 /usr/bin/pip3.8
目前雲伺服器各版本python環境
python pip 2.7版本的命令 python3 pip3 3.6版本的命令 python3.8 pip3.8 3.8版本的命令
uwsgi是符合wsgi協定的web伺服器,使用c寫的效能高,上線要使用uwsgi。
安裝uwsgi,注意用你後面要用的python版本安裝
pip3.8 install uwsgi
建立軟連線
ln -s /usr/local/python38/bin/uwsgi /usr/bin/uwsgi
1.安裝虛擬環境
pip3.8 install virtualenv
更新pip
python3.8 -m pip install --upgrade pip python3.8 -m pip install --upgrade setuptools pip3.8 install pbr
pip3.8 install virtualenvwrapper
2.建立虛擬環境軟連線(環境變數)
ln -s /usr/local/python38/bin/virtualenv /usr/bin/virtualenv
3.設定虛擬環境:
vim ~/.bash_profile
填入下方內容,注意python版本用的是哪個
VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3.8 source /usr/local/python38/bin/virtualenvwrapper.sh
4.更新組態檔內容
source ~/.bash_profile
5.建立虛擬環境
mkvirtualenv -p python3.8 xx
退出
deactivate
1.前往使用者根目錄
cd ~
2.下載nginx1.13.7
wget http://nginx.org/download/nginx-1.13.7.tar.gz
3.解壓安裝包
tar -xf nginx-1.13.7.tar.gz
4.進入目標檔案
cd nginx-1.13.7
5.設定安裝路徑:/usr/local/nginx
./configure --prefix=/usr/local/nginx
6.編譯並安裝
make && make install
7.建立軟連線
ln -s /usr/local/nginx/sbin/nginx /usr/bin/nginx
8.刪除安裝包與檔案
cd ~ rm -rf nginx-1.13.7 rm -rf nginx-1.13.7.tar.xz
9.測試Nginx環境,伺服器執行nginx,本地存取伺服器ip
# 啟動 nginx # 停止 nginx -s stop
這個命令檢視nginx是否在執行著
netstat -nlp | grep 80
然後存取
伺服器公網ip:80
如果無法存取,說明雲伺服器安全組中沒有新增80埠
1.修改前端向後端發ajax請求的地址,以前都是向127.0.0.1傳送請求,現在可以改成伺服器地址了
2.編譯vue專案成html,css,js
npm run build
3.專案根路徑下會生成dist資料夾(編譯過後的檔案),本地壓縮成zip(不要壓成rar)
4.在伺服器安裝軟體
yum install lrzsz
5.雲伺服器敲 rz,選擇dist.zip上傳
6.安裝解壓軟體,解壓檔案
yum install unzip unzip dist.zip
7.移動解壓後的dist.zip,並重新命名
mv ~/dist /home/html
8.去到Nginx設定目錄
cd /usr/local/nginx/conf
9.備份Nginx組態檔
mv nginx.conf nginx.conf.bak
10.開啟組態檔,新增內容
vim nginx.conf
內容
events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; sendfile on; server { listen 80; server_name 127.0.0.1; # 可以改為自己的域名 charset utf-8; location / { root /home/html; # html存取路徑 index index.html; # html檔名稱 try_files $uri $uri/ /index.html; # 解決單頁面應用重新整理404問題 } } }
11.重新載入組態檔(重啟nginx)
nginx -s reload
12.存取伺服器ip地址(不寫埠預設存取80埠)
xx.xx.xx.xx
1.修改django的某些關於ip地址的設定(資料庫等ip地址不用改,因為就是原生的ip地址,當在伺服器上執行時,連線的就是伺服器的資料庫)
2.django專案生成所需依賴
pip freeze > requirements.txt
3.把django專案上傳到伺服器上,通過rz命令,或者git命令
# 這裡我把專案放到這個目錄下 /home/project/
4.建立線上專案虛擬環境
mkvirtualenv project
5.虛擬環境下也要裝uwsgi
pip install uwsgi
6.cd到專案根路徑下
/home/project/
7.安裝依賴
pip install -r ./requirements.txt
8.如果出現報錯,比如安裝mysqlclient模組容易報錯,那麼我可以開啟requirements.txt,將mysqlclient模組那一行註釋掉(#)
9.最後單獨安裝mysqlclient
rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022 yum install mysql-devel yum install python-devel pip install mysqlclient
1.進入資料庫
2.建立專案需要的資料庫
create database project default charset=utf8;
3.設定許可權賬號密碼:賬號密碼要與專案中設定的一致
grant all privileges on project.* to 'username'@'%' identified by 'password'; grant all privileges on project.* to 'username'@'localhost' identified by 'password'; flush privileges;
4.退出資料庫
quit;
5.回到虛擬環境,到專案目錄中
資料庫遷移命令
python manage_pro.py makemigrations python manage_pro.py migrate
6.錄入資料
1.專案目錄下,新建uwsgi的組態檔
vim ./project.xml
新增
<uwsgi> <socket>127.0.0.1:8000</socket> <!-- 內部埠,自定義 --> <chdir>/home/project/</chdir> <!-- 專案路徑 --> <module>project.wsgi</module> <!-- project為wsgi.py所在目錄名--> <processes>4</processes> <!-- 程序數 --> <daemonize>uwsgi.log</daemonize> <!-- 紀錄檔檔案 --> </uwsgi>
2.啟動uwsgi
uwsgi -x ./luffyapi.xml
3.檢視uwsgi程序
ps aux |grep uwsgi
4.設定nginx,把8080埠的動態請求轉發給uwsgi裡設定的8000埠
vim /usr/local/nginx/conf/nginx.conf
內容:
events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; sendfile on; server { listen 80; server_name 127.0.0.1; # 可以改為自己的域名 charset utf-8; location / { root /home/html; # html存取路徑 index index.html; # html檔名稱 try_files $uri $uri/ /index.html; # 解決單頁面應用重新整理404問題 } } # 新增的server server { listen 8080; server_name 127.0.0.1; # 可以改為自己的域名 charset utf-8; location / { include uwsgi_params; uwsgi_pass 127.0.0.1:8000; # 埠要和uwsgi裡設定的一樣 uwsgi_param UWSGI_SCRIPT project.wsgi; #wsgi.py所在的目錄名+.wsgi uwsgi_param UWSGI_CHDIR /home/project/; # 專案路徑 } } }
5.重啟nginx
nginx -s reload
6.這時候前端向伺服器id:8080就等於向後端專案傳送了請求。
這時候存取後端的admin介面是沒有樣式的,還需要下列設定
1.編輯線上專案的組態檔
vim /home/project/../settings/pro.py
2.修改static設定,新增STATIC_ROOT、STATICFILES_DIRS
STATIC_URL = '/static/' STATIC_ROOT = '/home/project/static' STATICFILES_DIRS = (os.path.join(BASE_DIR, "../static"),)
3.專案目錄下沒有 static 資料夾需要新建
mkdir /home/project/static
4.完成靜態檔案遷移
python /home/project/manage_pro.py collectstatic
5.修改nginx設定
vim /usr/local/nginx/conf/nginx.conf
內容
events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; sendfile on; server { listen 80; server_name 127.0.0.1; # 可以改為自己的域名 charset utf-8; location / { root /home/html; # html存取路徑 index index.html; # html檔名稱 try_files $uri $uri/ /index.html; } } server { listen 8080; server_name 127.0.0.1; # 可以改為自己的域名 charset utf-8; location / { include uwsgi_params; uwsgi_pass 127.0.0.1:8000; # 埠要和uwsgi裡設定的一樣 uwsgi_param UWSGI_SCRIPT project.wsgi; uwsgi_param UWSGI_CHDIR /home/project/; } } location /static { alias /home/project/static; } }
6.重啟nginx
nginx -s reload
到此這篇關於django專案、vue專案部署雲伺服器的文章就介紹到這了,更多相關django vue專案部署雲伺服器內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45