---恢复内容开始---

windows 部署python fastapi网站的容器_Python



1) 一门面向对象的语言
2)拥有丰富的库
3)可移植性
4)免费、开源
5)简单易易学
可做软件开发、人工智能、web开发等等



部署流程:



Cnetos7.5+Nginx+python+Django+uwsgi+mysql 实验部署流程 1)安装Nginx 2)安装python 3)安装mysql 4)部署发布平台 5)测试



1、前面已经安装了Nginx

2、mysql_install(中小型公司)



⼀一个关系型数据库,由瑞典的AB公司开发,后来卖给了了oracle公司,⽬目前分为商业版和社区版 ⽬目前有量量⼤大版本 mysql5 和 mysql8 ⽬目前建议⼤大家先使⽤用5.7最新版本即可。官⽅方提供了了RPM和源码两种格式



1)安装依赖包 2) 升级cmake⼯工具 3) 升级boost库⽂文件 4) 安装mysql 5) 启动测试



 




windows 部署python fastapi网站的容器_c/c++_02

View Code

先安装依赖

打开终端:


yum -y install ncurses-devel gcc-* bzip2-*


安装cmake


到官网安装:
 wget https://github.com/Kitware/CMake/releases/download/v3.13.3/cmake-3.13.3.tar.gz

wget https://cmake.org/files/v3.13/cmake-3.6.0-rc1.tar.gz


删除:rm -f  文件名


rm -rf   /var/log/httpd/access
将会删除/var/log/httpd/access目录以及其下所有文件、文件夹


 

下载boost

https://www.boost.org/users/history/version_1_69_0.html

http://sourceforge.net/projects/boost/files/boost/1.59.0/boost_1_59_0.tar.bz2


wget https://dl.bintray.com/boostorg/release/1.59.0/source/boost_1_59_0.tar.bz2


下载mysql

本次选择源码安装:

windows 部署python fastapi网站的容器_开发工具_03


wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.24.tar.gz


windows 部署python fastapi网站的容器_开发工具_04

 

windows 部署python fastapi网站的容器_开发工具_05

boot_1_59---->对应mysql-5.7.24.tar.gz

接下来解压安装包


tar xf cmake-3.13.3.tar.gz


cd cmake-3.13.3

编译:./configure
make -j4

windows 部署python fastapi网站的容器_python_06

 sudo make install


 检查是否安装成功:

windows 部署python fastapi网站的容器_mysql_07

 

接下来解压boost

 

 sudo mv boost_1_59_0 /usr/local/


sudo tar xf boost_1_59_0.tar.bz2

拷贝到另外一个目录下: mv boost_1_59_0 /usr/local/boost


解压mysql


tar xf mysql-5.7.24.tar.gz
cd mysql-5.7.24


---cmake就是配置

首先安装:

useradd -s /sbin/nologin -r mysql
mkdir -pv /usr/local/mysql/data


cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/var/lib/mysql -DSYSCONFDIR=/etc -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITH_FEDERATED_STORAGE_ENGINE=1 -DWITH_PARTITION_STORAGE_ENGINE=1 -DMYSQL_UNIX_ADDR=/tmp/mysqld.sock -DENABLED_LOCAL_INFILE=1 -DWITH_EXTRA_CHARSETS=all -DDOWNLOAD_BOOST=1 -DWITH_BOOST=/usr/local/boost


 


 -------------------------------------- cmake  1.27 卡在这里

 

windows 部署python fastapi网站的容器_python_08


mkdir: 无法创建目录 “/usr/local/lib/***”: 权限不够

mkdir: 无法创建目录 “/usr/local/lib/***”: 权限不够
make: *** [install] 错误 1

出现类似错误,文件无法删除或者创建

如果你要是用的make && make install的话

你可以sudo make

然后sudo make isntall解决


头文件及库文件拷贝:sudo cp src_dir des_dir


sudo cp -rf mysql-5.7.24 /usr/local/src

 

windows 部署python fastapi网站的容器_c/c++_09

 

修改之后按insert就可以输入:wq!

在src目录下操作:


cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
chmod 755 /etc/init.d/mysql

cd

ll /usr/local/mysql/

useradd -s/sbin/nologin -r mysql
chown mysql.mysql /usr/local/mysql/ -R
ll /usr/local/mysql/


windows 部署python fastapi网站的容器_python_10

windows 部署python fastapi网站的容器_mysql_11

 


ln -sf /usr/local/mysql/bin/* /usr/bin/ ln -sf /usr/local/mysql/lib/* /usr/lib/ ln -sf /usr/local/mysql/libexec/* /usr/local/libexec ln -sf /usr/local/mysql/share/man/man1/* /usr/share/man/man1 ln -sf /usr/local/mysql/share/man/man8/* /usr/share/man/man8 修改配置文件 vim /etc/my.cnf --------------------- datadir=/usr/local/mysql/data basedir=/usr/local/mysql socket=/usr/local/mysql/mysql.sock [mysqld_safe] log-error=/var/log/mysql.log pid-file=/var/run/mysql.pid 保存退出:wq! 初始化操作: /usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/ 得到初始密码:root@localhost: hrPyuRKT#2ul


启动数据库: /etc/init.d/mysql start




所有命令加上sudo权限 修改密码: sudo mysql_secure_installation




 

解决Can 't connect to local MySQL server through socket '/tmp/mysql.sock '(2) ";

 

windows 部署python fastapi网站的容器_mysql_12

再次sudo mysql_secure_installation

windows 部署python fastapi网站的容器_开发工具_13

windows 部署python fastapi网站的容器_c/c++_14

 python部署

下载python


wget https://www.python.org/ftp/python/3.7.1/Python-3.7.1.tar.xz


解压:


tar xf Python-3.7.1.tar.xz
cd Python-3.7.1

yum -y install gcc-* openssl-* libffidevel sqlite-devel

./configure --enable-optimizations --with-openssl=/usr/bin/openssl

make -j4

make install


遇到的坑:


ModuleNotFoundError: No module named '_ctypes'


解决办法:


sudo yum -y install libffi-devel


windows 部署python fastapi网站的容器_python_15

windows 部署python fastapi网站的容器_Python_16

升级安装包


pip install --upgrade pip


遇到坑:


windows 部署python fastapi网站的容器_c/c++_17

pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available.


解决办法:


vim Modules/Setup


windows 部署python fastapi网站的容器_mysql_18

再次更新:


pip install --upgrade pip


windows 部署python fastapi网站的容器_python_19

卸载安装的模块:


pip uninstall 模块名


接下来安装虚拟环境,每个项目一个使用的环境和插件都不一样


pip install virtualenv --user


virtualenv 是一个隔绝Python环境的工具。virtualenv创建一个包含所有必要的可执行文件的文件夹,用来使用Python工程所需的包

创建虚拟环境


virtualenv web
web为创建的虚拟环境
检查是否有web:ls
ls web/
使环境生效:
source web/bin/activate


windows 部署python fastapi网站的容器_python_20


 安装django到虚拟环境中


pip install django


在django下新建项目


django-admin.py startproject myweb
cd myweb
启动django:
python manage.py runserver 120.79.2.67:80


windows 部署python fastapi网站的容器_开发工具_21

出现错误:

再django配置文件修改访问权限

vim myweb/settings.py

 


 ctrl+c:退出

windows 部署python fastapi网站的容器_python_22

 

 发布网站

 

windows 部署python fastapi网站的容器_python_23

下载uwsgi


sudo pip install uwsgi


windows 部署python fastapi网站的容器_c/c++_24


 


新建一个目录:
mkdir /etc/uwsgi

把配置文件放缩减目录下
vim /etc/uwsgi/uwsgi.ini

python3 manage.py runserver 120.79.2.67:80


 

linux 上传文件 rz命令


安装lrzsz:
# yum -y install lrzsz