嘗試在linux上部署項目,先從最熟悉的python項目開始吧。
1、安裝Nginx
命令:sudo apt-get install nginx
2、安裝uwsgi,從pip倉庫安裝
命令:pip3 install uwsgi
3、把django項目移到服務器
通過這次操作才知道往linux上拖文件不能拖文件。因此需要打包一下才能移動文件。我這個雲服務器默認支持的xxx.tar.gz格式的文件,但是在windows上壓縮的時候只能壓縮成zip的,所以這里有兩個辦法
1)在windows上安裝一個好壓的軟件,然后把文件壓縮成xxx.tar.gz格式,然后在linux上就可以直接tar -zxvf xx.tar.gz就可以了
2)在雲服務器上安裝zip命令,sudo apt-get install zip:
然后用zip命令解壓我們在windows下壓縮好的包
unzip xxx.zip 解壓文件
unzip -v xxx.zip 查看文件內容,但不解壓
unzip file.zip -d/目錄名 把file解壓到制定目錄
zip -r xxxx.zip yyy 把yyy以及yyy下面的所有文件都壓縮成xxxx.zip文件
4、配置Nginx與uwsgi
在與manager同級目錄下創建uwsgi.ini 文件,文件內容如下:
socket與http要注意,如果是要用Nginx運行django的話,就用socket,如果用uwsgi運行django的話,這里就要換成http。
Nginx配置如下,在nginx.conf中的http加入server,如下
問題1:安裝pip
我用的是騰訊雲服務器,系統是自帶python的,但是pip需要自己安裝,安裝的過程也有點小曲折,故記錄一下。
命令:sudo apt-get python3-pip 安裝pip3
sudo apt-get python2-pip 安裝pip2
安裝的時候按照下面的方法,但是都是安裝的python2的,python3的沒有安裝成功,因為我項目用的是python3,所以用上面的方法能安裝成功也就不糾結這個了。
Install Easy Install
$ sudo apt-get install python-setuptools python-dev build-essential
Install pip
$ sudo easy_install pip
問題2、配置nginx
配置nginx的時候想配置自己的域名玩玩,剛開始不知道,以為只要在server_name配上自己的域名就可以,結果肯定是一直失敗,請求都到不了nginx。
在網上找了好多資料加上運維同學的講解才明白,要使用自己配置的域名,需要在服務器(也就是linux主機)上的hosts加入自己配置的域名並映射ip
,然后還要在客戶機(就是我們訪問服務器的機器)的hosts文件中加上域名與ip的映射,我的是windows,默認都是在c盤中。