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

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) 启动测试

先安装依赖

打开终端:

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

本次选择源码安装:

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

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

sudo make install

检查是否安装成功:

接下来解压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 卡在这里

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

修改之后按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/


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) ";

再次sudo mysql_secure_installation

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

升级安装包

pip install --upgrade pip

遇到坑:

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

解决办法:

vim Modules/Setup

再次更新:

pip install --upgrade pip

卸载安装的模块:

pip uninstall 模块名

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

pip install virtualenv --user

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

创建虚拟环境

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

安装django到虚拟环境中

pip install django

在django下新建项目

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

出现错误:

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

vim myweb/settings.py


ctrl+c:退出

发布网站

下载uwsgi

sudo pip install uwsgi

新建一个目录:
mkdir /etc/uwsgi 把配置文件放缩减目录下
vim /etc/uwsgi/uwsgi.ini python3 manage.py runserver 120.79.2.67:80

linux 上传文件 rz命令

安装lrzsz:
# yum -y install lrzsz

部署一个基于python语言的web发布环境的更多相关文章

  1. 部署基于python语言的WEB发布环境

    一.部署说明 1.python语言介绍 python简介 2.实验环境 实验机器:Vmware虚拟机 8核10G 网卡:桥接模式 系统:centos7.5 防火墙:关闭 Selinux:关闭 网段:1 ...

  2. centos7 打造基于python语言Selenium2自动化开发环境

    1. 准备 安装模块 # yum groupinstall "Development tools" # yum install zlib-devel bzip2-devel ope ...

  3. MAC OS环境下搭建基于Python语言的Selenium2自动化测试环境

    #1安装Python Mac OS上自带python2.7,在此介绍安装python3.x版本 去官网下载Python for MAC版本 https://www.python.org 安装文件为pk ...

  4. MAC OS环境下搭建基于Python语言的appium自动化测试环境

    #1 安装JDK java -version #2 下载SDK http://adt.android-studio.org/ 下载adt #3 配置sdk环境变量 打开终端,依次输入命令 vim .b ...

  5. 如何使用 Docker 部署一个基于 Play Framework 的 Scala Web 应用?

    本文作者 Jacek Laskowski 拥有近20年的应用程序开发经验,现 CodiLime 的软件开发团队 Leader,曾从 IBM 取得多种资格认证.在这篇博文中,Jacek 分享了 Wars ...

  6. selenium2自动化测试实战--基于Python语言

    自动化测试基础 一. 软件测试分类 1.1 根据项目流程阶段划分软件测试 1.1.1 单元测试 单元测试(或模块测试)是对程序中的单个子程序或具有独立功能的代码段进行测试的过程. 1.1.2 集成测试 ...

  7. 关于《selenium2自动测试实战--基于Python语言》

    关于本书的类型: 首先在我看来技术书分为两类,一类是“思想”,一类是“操作手册”. 对于思想类的书,一般作者有很多年经验积累,这类书需要细读与品位.高手读了会深有体会,豁然开朗.新手读了不止所云,甚至 ...

  8. 《Selenium2自动化测试实战--基于Python语言》 --即将面市

    发展历程: <selenium_webdriver(python)第一版>   将本博客中的这个系列整理为pdf文档,免费. <selenium_webdriver(python)第 ...

  9. 构建一个基于 Spring 的 RESTful Web Service

    本文详细介绍了基于Spring创建一个“hello world” RESTful web service工程的步骤. 目标 构建一个service,接收如下HTTP GET请求: http://loc ...

随机推荐

  1. Matlab_audiowrite_音频生成

    输出音频文件所需函数为 audiowrite .通过例程进行解释: % 生成时间序列 fs = 5000; % [Hz] 信号采样频率 T = 1; % [s] 信号长度 x = 0:1/fs:T; ...

  2. 剑指Offer 18. 二叉树的镜像 (二叉树)

    题目描述 操作给定的二叉树,将其变换为源二叉树的镜像. 输入描述: 二叉树的镜像定义:源二叉树 8 / \ 6 10 / \ / \ 5 7 9 11 镜像二叉树 8 / \ 10 6 / \ / \ ...

  3. 【oracle入门】数据库系统结构----三级模式

    概念模式:概念模式也称模式,是对数据库中全局数据路基结构的描述,是全体用户公共的数据视图.这种描述是抽象描述,不涉及具体硬件环境与平台,也与具有软件环境无关. 外模式:外模式也称子模式或者用户模式,他 ...

  4. j教你如何用erlang-tuple

    元组是用来保存一组数据元素的复合数据类型,其中数据元素是要求为erlang的数据类型,单不一定要是相同的类型,元组使用封闭的花括号{}来定义,里面的元素有逗号隔开. 例如: 1> {1,2,3} ...

  5. ffmpeg 视频 转 gif

    将视频 MP4 转化为 GIF ffmpeg -i small.mp4 small.gif 转化视频中的一部分为 GIF ffmpeg -t -ss :: -i small.webm small-cl ...

  6. Ubuntu下math库函数编译时未定义问题的解决

    自己在Ubuntu下练习C程序时,用到了库函数math.h,虽然在源程序中已添加头文件“math.h”,但仍提示所用函数未定义,原本以为是程序出错了,找了好久,这是怎么回事呢? 后来上网查了下,发现是 ...

  7. DP常用模板

    递推模板: 从结果往回推,需要设定边界为无穷大,并建立状态转移方程 ;j<n;j++) d[n][j]=a[n][j];///边界处理 ;i>=;i--){ ;j<i;j++)/// ...

  8. 面向对象+JAVA基础

    泛泛的研究了面向对象的前五章,感觉没有代码的参照理解的知识看过就忘,所以又在推荐下开始了JAVA基础,希望不会鄙视我目前么有一本书能完整看完的记录... public class LeapYear { ...

  9. 用 Excel 画正态分布曲线

    用 Excel 画正态分布曲线 群里有小伙伴询问一道曲线题,有小伙伴看出来是正态分布曲线,刚好之前有大概了解一下正态分布. 可以在 Excel 很容易实现. 使用 NORMDIST 即可. 效果如下:

  10. Spring Boot - 配置介绍

    Spring Boot 针对常用的开发场景提供了一系列自动化配置来减少原本复杂而又几乎很少改动的模板配置内容,但是,我们还是需要了解如何在Spring Boot中修改这些自动化的配置,以应对一些特殊场 ...