Django線上部署(一)

2021-08-28 12:29:02 字數 4695 閱讀 1156

系統環境準備:

redhat6.5/centos6.5(ubuntu大同小異)。

自帶python2.6.6,我們需要編譯安裝python3(本文件安裝的是python3.6.1)

為了除錯方便關閉防火牆和httpd(生產環境請慎用!)

# serviceiptables stop

# servicehttpd stop

python3安裝配置:

為了防止安裝python3之後出現以下錯誤:

modulenotfounderror: no module named '_sqlite3'

我們需要先安裝sqlite-devel:

# yum -y install sqlite-devel

因為我們要編譯安裝 python3,所以要提前安裝編譯工具及庫檔案

# yum -y install make zlibzlib-develgcc-c++ libtool  opensslopenssl-devel

# wget
安裝python3

我個人習慣安裝在/usr/local/python3(具體安裝位置看個人喜好)

建立目錄:

# mkdir /usr/local/python3
# tar -zxvf python-3.6.1.tgz
進入解壓後的目錄,編譯安裝。

# cd python-3.6.1

# ./configure --prefix=/usr/local/python3

make

# make
make install 

# make install
建立python3的軟鏈

# ln -s /usr/local/python3/bin/python3 /usr/bin/python3
並將/usr/local/python3/bin加入path

# vim ~/.bash_profile
# .bash_profile

# get the aliases and functions

if [ -f ~/.bashrc ]; then

. ~/.bashrc

fi# user specific environment and startup programs

path=$path:$home/bin:/usr/local/python3/bin

export path

按esc,輸入:wq回車退出。

# source ~/.bash_profile

檢查python3及pip3是否正常可用:

# python3 -v

python 3.6.1

# pip3 -v

pip 9.0.1 from /usr/local/python3/lib/python3.6/site-packages (python 3.6)

virtualenv安裝和使用

此處因為我想要將virtualenv安裝到python3的環境下,所以使用的是pip3 install virtualenv,如果你想安裝到python2,請執行pip install virtualenv

安裝 virtualenv:

# pip3 install virtualenv

collecting virtualenv

downloading virtualenv-15.1.0-py2.py3-none-any.whl (1.8mb)

100% |################################| 1.8mb 527kb/s

installing collected packages: virtualenv

successfully installed virtualenv-15.1.0

建立乙個目錄(/usr/local/envs)用於存放自己的虛擬環境:

# mkdir envs
建立虛擬環境(此處env_test是你的虛擬環境名):

# cd envs

# virtualenv venv_test

啟動虛擬環境(注意啟用虛擬環境後虛擬環境名會出現在最前面):

# cdenv_test

# source bin/activate

(env_test)#

在虛擬環境中pip安裝各種第三方包了,比如安裝django:

(env_test)# pip install django
補充pip的常用命令:

檢視當前虛擬環境安裝的第三方包資訊:

(env_test)# pip freeze
將當前虛擬環境安裝的第三包資訊匯出到檔案(當前目錄下的requirements.txt檔案):

(env_test)# pip freeze > requirements.txt
批量安裝requirements.txt檔案中的第三方包:

(env_test)# pip install -r requirements.txt
git基本使用:

git基本使用(廖雪峰的git教程,git相關命令多用就熟悉了。客戶端推薦使用sourcetree):

安裝git:

# yum install git
從github拉**到本地伺服器(這裡以我的django教程的**為例):

# git clone git庫裡面的http鏈結
從遠端倉庫拉取最新的**(在本地專案目錄下執行):

# git pull
安裝nginx

一般我們都需要先裝pcre,為了重寫rewrite。

# cd /usr/local/src

# wget
得到pcre-8.40.tar.gz,接下來解壓安裝

# tar -zxvf pcre-8.40.tar.gz

# cd pcre-8.40

# ./configure

# make

# make install

檢視pcre版本:

# pcre-config --version

8.40

# cd /usr/local/src

# wget

得到nginx-1.6.2.tar.gz,接下來解壓安裝

# tar -zxvf nginx-1.6.2.tar.gz

# cd nginx-1.6.2

編譯安裝:

# make install安裝完成後檢視nginx 版本:

# /usr/local/nginx/sbin/nginx -v

nginx version: nginx/1.6.2

built by gcc 4.4.7 20120313 (red hat 4.4.7-18) (gcc)

tls sni support enabled

configure arguments: --prefix=/usr/local/nginx --with-http_ssl_module --with-pcre=/usr/local/src/pcre-8.40

常用nginx命令:

# /usr/local/nginx/sbin/nginx -t                   # 檢查配置檔案nginx.conf是否正確

# /usr/local/nginx/sbin/nginx                      # 啟動nginx

# /usr/local/nginx/sbin/nginx -s reload            # 重新載入配置檔案

# /usr/local/nginx/sbin/nginx -s reopen            # 重啟 nginx

# /usr/local/nginx/sbin/nginx -s stop # 停止 nginx

nginx uwsgi Django部署線上環境

python點這裡 nginx點這裡 pip3 install uwsgi 不建立軟連線可能會出現找不到命令 ln s usr local python3 bin uwsgi usr bin uwsgi3 1 首先客戶端請求服務資源,2 nginx作為直接對外的服務介面,接收到客戶端傳送過來的htt...

線上環境部署問題

1 缺少openssl md5.h檔案 a find name md5.h 找到系統是否存在md5.h b 如果存在,直接拷貝檔案到相應目錄下 usr local include usr include 或者編譯的 i選項 c 如果不存在,openssl version 檢視 openssl 的版本...

Nodejs線上日誌部署

nodejs 被越來越多的使用到線上系統中,但線上系統沒有日誌怎麼行呢。我的線上系統使用forever來啟動服務,最開始就直接使用了forever來記錄 forever start a l logs forever.log a 表示追加日誌檔案 l 指定日誌檔案 s 忽略console.log輸出的...