定時任務安裝部署(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 結束執行。