1. 传输文件

1.1 安装VMWare tools

左上角虚拟机 -- 安装VMWare tools ,下载完成后

定时任务安装部署(Postgresql)_postgresql

移动到任意文件夹中,解压到当前文件夹

定时任务安装部署(Postgresql)_linux_02

右键打开终端,cd到vmware-tools-distrib目录,输入命令:

sudo ./vmware-install.pl


出现第一个画面时,选择“y”回车, 然后一路回车,安装完成.

定时任务安装部署(Postgresql)_PostgreSQL_03

重启电脑,重新进入,安装vmware tools即生效。鼠标和复制粘贴就生效了。

关闭虚拟机

虚拟机 -- 设置

定时任务安装部署(Postgresql)_python_04

选项--共享文件夹 -- 总是启用 -- 添加

定时任务安装部署(Postgresql)_timetask_05

设置windows中共享文件的路径

定时任务安装部署(Postgresql)_postgresql_06

点击完成

定时任务安装部署(Postgresql)_postgresql_07

点击确定

定时任务安装部署(Postgresql)_python_08

在/mnt/hgfs目录下可以找到共享文件,将其拖动到左侧

定时任务安装部署(Postgresql)_postgresql_09

将项目文件拷贝到共享文件中

定时任务安装部署(Postgresql)_postgresql_10

复制文件到opt下的mywork目录中

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


定时任务安装部署(Postgresql)_python_11

2. 环境

2.1 安装pycharm

准备好压缩包和破解文件,放入共享目录

定时任务安装部署(Postgresql)_postgresql_12

在虚拟机中,将文件拷贝到自定义目录

定时任务安装部署(Postgresql)_timetask_13

解压到当前文件

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


打开终端,进入pycharm-2020.1.2/bin

sh ./pycharm.sh


定时任务安装部署(Postgresql)_python_14

下一步,直到出现验证激活码,选择免费试用30天

定时任务安装部署(Postgresql)_python_15

创建一个新项目

定时任务安装部署(Postgresql)_python_16

将之前共享文件夹中的 jetbrains-agent.jar 放到pycharm的bin目录下

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


定时任务安装部署(Postgresql)_python_17

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

定时任务安装部署(Postgresql)_linux_18

输入对应路径的jebrains-agent.jar

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


定时任务安装部署(Postgresql)_linux_19

拖动到当前文件

定时任务安装部署(Postgresql)_postgresql_20

重启,成功

定时任务安装部署(Postgresql)_linux_21

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


定时任务安装部署(Postgresql)_python_22

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


定时任务安装部署(Postgresql)_python_23

设置管理员密码

ALTER USER postgres with PASSWORD 'postgres'


创建数据库

CREATE DATABASE timetask;


修改项目中的config.py

POSTGRESQL_URL='postgresql+psycopg2://postgres:postgres@127.0.0.1:5432/timetask'


替换定时器的设置

定时任务安装部署(Postgresql)_python_24

定时任务安装部署(Postgresql)_linux_25

\q 退出


目前项目可以访问本地数据库了

如果我们需以主机的ip访问本地数据库的话 还需要进一步设置:

修改 postgresql.conf文件

修改/etc/postgresql/对应你的版本/main目录下的 postgresql.conf文件

# 如果用户为postgresql 记得先exit退出 回到本机用户
exit

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


定时任务安装部署(Postgresql)_PostgreSQL_26

定时任务安装部署(Postgresql)_linux_27

找到listen_addresses = 'localhost'

改为:

定时任务安装部署(Postgresql)_postgresql_28

定时任务安装部署(Postgresql)_PostgreSQL_29

ESC退出编辑模式

-- wq!保存

修改pg_hba.conf文件

定时任务安装部署(Postgresql)_postgresql_30

设置添加允许的访问主机

定时任务安装部署(Postgresql)_PostgreSQL_31

重启服务生效

sudo service postgresql restart


配置完成

3. 运行

给项目增加文件权限

sudo chmd -R 777 JobCenter


定时任务安装部署(Postgresql)_timetask_32

安装pipenv

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


实在不行就

pip install pipenv
pipenv install --dev


定时任务安装部署(Postgresql)_PostgreSQL_33

$ pipenv shell


定时任务安装部署(Postgresql)_timetask_34

flask init # 创建数据库


定时任务安装部署(Postgresql)_linux_35

flask run


定时任务安装部署(Postgresql)_linux_36

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 结束运行。