1. 程式人生 > 實用技巧 >定時任務安裝部署(Postgresql)

定時任務安裝部署(Postgresql)

1. 傳輸檔案

1.1 安裝VMWare tools

左上角虛擬機器 -- 安裝VMWare tools ,下載完成後

移動到任意資料夾中,解壓到當前資料夾

右鍵開啟終端,cd到vmware-tools-distrib目錄,輸入命令:

sudo ./vmware-install.pl

出現第一個畫面時,選擇“y”回車, 然後一路回車,安裝完成.

重啟電腦,重新進入,安裝vmware tools即生效。滑鼠和複製貼上就生效了。

關閉虛擬機器

虛擬機器 -- 設定

選項--共享資料夾 -- 總是啟用 -- 新增

設定windows中共享檔案的路徑

點選完成

點選確定

在/mnt/hgfs目錄下可以找到共享檔案,將其拖動到左側

將專案檔案拷貝到共享檔案中

複製檔案到opt下的mywork目錄中

sudo cp -r /mnt/hgfs/timetask_share/JobCenter /opt/mywork

2. 環境

2.1 安裝pycharm

準備好壓縮包和破解檔案,放入共享目錄

在虛擬機器中,將檔案拷貝到自定義目錄

解壓到當前檔案

sudo tar -xzvf pycharm-professional-2020.1.2.tar.gz 

開啟終端,進入pycharm-2020.1.2/bin

sh ./pycharm.sh

下一步,直到出現驗證啟用碼,選擇免費試用30天

建立一個新專案

將之前共享資料夾中的 jetbrains-agent.jar 放到pycharm的bin目錄下

sudo cp /home/yang/Downloads/jetbrains-agent.jar /home/yang/programfiles/pycharm-2020.1.2/bin

回到Pycharm -- 右上角Help -- Edit Custom VM Options

輸入對應路徑的jebrains-agent.jar

-javaagent:/home/yang/programfiles/pycharm-2020.1.2/bin/jetbrains-agent.jar

拖動到當前檔案

重啟,成功

2.2 python3.7

2.2.1 準備

安裝依賴包

sudo apt-get install build-essential checkinstall
sudo apt-get install libreadline-gplv2-dev libncursesw5-dev libssl-dev libsqlite3-dev tk-dev libgdbm-dev libc6-dev libbz2-dev


sudo apt-get install zlib1g-dev libbz2-dev libssl-dev libncurses5-dev libsqlite3-dev libreadline-dev tk-dev libgdbm-dev libdb-dev libpcap-dev xz-utils libexpat1-dev liblzma-dev libffi-dev libc6-dev

2.2.2 下載安裝檔案

# 下載到指定位置
cd /home/yang/Downloads
sudo wget https://www.python.org/ftp/python/3.7.0/Python-3.7.0.tgz

# 解壓
sudo tar xzf Python-3.7.0.tgz

2.2.3 安裝路徑

sudo mkdir -p /usr/local/python3

2.2.4 編譯安裝

執行這步是後面最好加上 --enable-optimizations 會自動安裝pip3及優化配置

cd Python-3.7.0
sudo ./configure --prefix=/usr/local/python3 --enable-optimizations
sudo make
sudo make install

2.2.5 檢查軟連結

python3 -V
pip3 -V

# 若存在舊python3版本,備份舊版軟連結
mv /usr/bin/python3 /usr/bin/python3.5
mv /usr/bin/pip3 /usr/bin/pip3.5

#新增python3的軟連結
sudo ln -s /usr/local/python3/bin/python3.7 /usr/bin/python3.7
#新增 pip3 的軟連結
sudo ln -s /usr/local/python3/bin/pip3.7  /usr/bin/pip3.7

2.3 Postgresql

安裝依賴

sudo apt-get install libpq-dev python-dev

安裝驅動

sudo apt-get install python-psycopg2

postgres

sudo apt-get install postgresql

切換到Linux的postgres使用者下

sudo su postgres

登陸postgresql

psql postgres

設定管理員密碼

ALTER USER postgres with PASSWORD 'postgres'

建立資料庫

CREATE DATABASE timetask;

修改專案中的config.py

POSTGRESQL_URL='postgresql+psycopg2://postgres:[email protected]:5432/timetask'

替換定時器的設定

\q 退出

目前專案可以訪問本地資料庫了

如果我們需以主機的ip訪問本地資料庫的話 還需要進一步設定:

修改 postgresql.conf檔案

修改/etc/postgresql/對應你的版本/main目錄下的 postgresql.conf檔案

# 如果使用者為postgresql 記得先exit退出 回到本機使用者
exit

cd /etc/postgresql/10/main
sudo vim postgresql.conf

找到listen_addresses = 'localhost'

改為:

ESC退出編輯模式

-- wq!儲存

修改pg_hba.conf檔案

設定新增允許的訪問主機

重啟服務生效

sudo service postgresql restart

配置完成

3. 執行

給專案增加檔案許可權

sudo chmd -R 777 JobCenter

安裝pipenv

sudo pip install pipenv -i https://mirrors.aliyun.com/pypi/simple/

實在不行就

pip install pipenv
pipenv install --dev

$ pipenv shell

flask init # 建立資料庫

flask run

4. 部署

4、uwsgi安裝與配置**

pip換源

在Windows下:
C:\Users\Administrator\下新建pip資料夾,在建立pip.ini檔案,拷貝下面程式碼進去,儲存。

在linux下:
sudo vim ~/.pip/pip.conf

替換為:
[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple

進入專案虛擬環境目錄下的bin檔案,即:專案根目錄/venv/bin

pipenv install uwsgi -i https://mirrors.aliyun.com/pypi/simple/

如果報錯:

File "/tmp/pip-install-q21no8ws/uwsgi/uwsgiconfig.py", line 755, in __init__
raise Exception("you need a C compiler to build uWSGI")
 Exception: you need a C compiler to build uWSGI

# 輸入
sudo apt-get install gcc 

#實在不行就安裝build-essential
02、鍵入以下命令安裝build-essential軟體包:

linuxidc@linuxidc:~/www.linuxidc.com$ sudo apt install build-essential

該命令將安裝一堆新包,包括gcc,g ++和make。

03、要驗證GCC編譯器是否已成功安裝,請使用gcc --version命令列印GCC版本:

linuxidc@linuxidc:~/www.linuxidc.com$ gcc --version

Ubuntu 18.04儲存庫中可用的預設GCC版本是7.4.0:



#ubuntu
sudo apt-get install python3.7-dev

修改啟動檔案webhook.py rename為 manage.py

from flask_script import Manager
from app import create_app

app =create_app()
manager = Manager(app)

if __name__ == '__main__':
    manager.run()
    
# 即可測試
python manage.py runserver

進入專案根目錄,新建目錄

# 新建 uwsgi.ini

[uwsgi]

# 當載入的時候, Uwsgi的IP和埠
http=192.168.136.130:5001

# 對應web專案的主目錄
chdir=/home/yang/mywork/JobCenter/

# 虛擬環境位置
 virtualenv=/home/yang/.local/share/virtualenvs/JobCenter-6lJXnf_S

# 啟動檔案
wsgi-file=manage.py

# The application variable of Python Flask Core Oject
callable=app

# The maximum numbers of Processes
processes=3

# The maximum numbers of Threads
threads=2

執行測試~

`uwsgi --ini uwsgi.ini`

Ctrl+C 結束執行。