網站部署(一)

服務器的基本配置:python

我用的是Git Bash Here,打開軟件輸入nginx

$ ssh root@44.444.4.444(公網ip)
# 會讓你輸密碼
root@44.444.4.444’s password:*******

服務器命令:git

1)如下全部的服務器命令都可以在管理員權限下執行
>: sudo 命令

配置終端:sql

1)編輯配置文件
>: vim ~/.bash_profile

2)將原來內容所有刪除掉
>: ggdG

3)進入編輯狀態:填入下方兩行
>: i

export PATH=$PATH:$HOME/bin
PS1='Path:\w\n>:'

4)退出編輯狀態
>: esc

5)保存修改並退出
>: :wq

6)生效配置
>: source ~/.bash_profile

更新系統軟件包django

>: yum update -y

安裝管理包和可能使用的依賴vim

>: yum -y groupinstall "Development tools"
>: yum install openssl-devel bzip2-devel expat-devel gdbm-devel readline-devel sqlite-devel psmisc libffi-devel

# 以上包依賴git,能夠查看git是否已經安裝

安裝git瀏覽器

>: yum install git

安裝python3.6bash

1)前往用戶根目錄
>: cd ~

2)下載 或 上傳 Python3.6.7
>: wget https://www.python.org/ftp/python/3.6.7/Python-3.6.7.tar.xz
# 直接從網上下載


# 從本地上傳
>: scp -r 本地Python-3.6.7.tar.xz ssh root@39.100.155.49:服務器路徑
>: scp -r C:\source\Python-3.6.7.tar.xz ssh root@39.100.155.49:~

3)解壓安裝包
>: tar -xf Python-3.6.7.tar.xz

4)進入目標文件
>: cd Python-3.6.7

5)配置安裝路徑:/usr/local/python3
>: ./configure --prefix=/usr/local/python3

6)編譯並安裝
>: make && sudo make install
7)創建軟鏈接:終端命令 python3,pip3 >: ln -s /usr/local/python3/bin/python3 /usr/bin/python3 >: ln -s /usr/local/python3/bin/pip3.6 /usr/bin/pip3
8)刪除安裝包與文件: >: rm -rf Python-3.6.7 >: rm -rf Python-3.6.7.tar.xz

 

配置pip源:服務器

1)建立pip配置路徑
>: mkdir ~/.pip

2)進入目錄編輯配置文件:填入下方內容
cd ~/.pip && vim pip.conf

[global]
index-url = http://pypi.douban.com/simple
[install]
use-mirrors =true
mirrors =http://pypi.douban.com/simple/
trusted-host =pypi.douban.com

安裝虛擬環境:app

1)安裝依賴
>: pip3 install virtualenv
>: pip3 install virtualenvwrapper

2)創建虛擬環境軟鏈接
>: ln -s /usr/local/python3/bin/virtualenv /usr/bin/virtualenv

3)配置虛擬環境:填入下方內容
>: vim ~/.bash_profile

VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3
source /usr/local/python3/bin/virtualenvwrapper.sh

4)退出編輯狀態
>: esc

5)保存修改並退出
>: :wq

6)更新配置文件內容
>: source ~/.bash_profile

默認工做路徑: ~/.virtualenvs

 

 

 

安裝uwsgi

1)在真實環境下安裝
pip3 install uwsgi

# 退出虛擬環境:deactivate
2)創建軟鏈接 ln -s /usr/local/python3/bin/uwsgi /usr/bin/uwsgi

 

在虛擬環境下跑django項目:

1)建立虛擬環境
>: mkvirtualenv test_venv

2)安裝依賴
>: pip install django

3)前往目標目錄,建立項目工做目錄,再進入
>: cd /home
>: mkdir project
>: cd project

4)建立Django項目,並進入
>: django-admin startproject test_site
>: cd test_site

5)完成項目配置:修改下方几行內容
>: vim /home/project/test_site/test_site/settings.py

ALLOWED_HOSTS = ['*']  # 運行全部主機進入

#DATABASES = {
#    'default': {
#        'ENGINE': 'django.db.backends.sqlite3',
#        'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
#    }
#}

6)跑原生服務
>: python manage.py runserver 0.0.0.0:80
# ip要改爲0.0.0.0,這樣全部的ip均可以訪問

安裝nginx

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 && sudo make install

7)創建軟鏈接:終端命令 nginx
>: ln -s /usr/local/nginx/sbin/nginx /usr/bin/nginx

8)刪除安裝包與文件:
>: rm -rf nginx-1.13.7
>: rm -rf nginx-1.13.7.tar.xz

9)測試Nginx環境,服務器運行nginx,本地訪問服務器ip
>: nginx
>: 服務器綁定的域名 或 ip:80

 

nginx命令

1)啓動
>: nginx

2)關閉nginx
>: nginx -s stop

3)重啓nginx
>: nginx -s reload

4)查看端口,強行關閉
>: ps -aux|grep nginx
>: kill <pid:進程編號>

關閉全部端口
>:pkill -f nginx -9 

 

 

Nginx & uwsgi 運行Django:進入有Django的虛擬環境

1)在項目的虛擬環境安裝uwsgi
>: workon test_venv
>: pip install uwsgi

2)項目根目錄配置uwsgi:填入下方內容
>: vim /home/project/test_site/test_site.xml

<uwsgi>    
   <socket>127.0.0.1:8808</socket> <!-- 內部端口,自定義 --> 
   <chdir>/home/project/test_site/</chdir> <!-- 項目路徑 -->            
   <module>test_site.wsgi</module>  <!-- test_site爲wsgi.py所在目錄名--> 
   <processes>4</processes> <!-- 進程數 -->     
   <daemonize>uwsgi.log</daemonize> <!-- 日誌文件 -->
</uwsgi>

3)完成項目配置:修改下方几行內容
>: vim /home/project/test_site/test_site/settings.py
>: vim /home/oneproject/one_pro/one_pro/settings.py

DEBUG = False
ALLOWED_HOSTS = ['*']

4)去向Nginx配置目錄,備份配置,徹底更新配置:填入下方內容
>: cd /usr/local/nginx/conf
>: cp nginx.conf nginx.conf.bak
>: vim nginx.conf
>: ggdG
>: i

events {
    worker_connections  1024;
}
http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    server {
        listen 8000;
        server_name  127.0.0.1; # 改成本身的域名,沒域名修改成127.0.0.1
        charset utf-8;
        location / {
           include uwsgi_params;
           uwsgi_pass 127.0.0.1:8808;  # 端口要和uwsgi裏配置的同樣
           uwsgi_param UWSGI_SCRIPT test_site.wsgi;  #wsgi.py所在的目錄名+.wsgi
           uwsgi_param UWSGI_CHDIR /home/project/test_site/; # 項目路徑
        }
    }
}
      
5)啓動uwsgi
>: uwsgi -x /home/project/test_site/test_site.xml
uwsgi -x /home/oneproject/one_pro/one_pro.xml

6)啓動nginx
>: nginx

7)瀏覽器測試:http://39.100.155.49/admin

8)關閉uwsgi全部進程
>: pkill -f uwsgi -9
相關文章
相關標籤/搜索