首页 > 编程语言 > 详细

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

时间:2019-03-17 18:54:23      阅读:174      评论:0      收藏:0      [点我收藏+]

一、部署说明

1、python语言介绍

  python简介

2、实验环境

  实验机器:Vmware虚拟机 8核10G

  网卡:桥接模式

  系统:centos7.5

  防火墙:关闭

  Selinux:关闭

  网段:192.168.10.0/25

  WEB01:192.168.10.42

二、部署流程

  Centos7.5 + Nginx + python + Django + uwsgi + mysql来部署网站(服务)。

1、部署Nginx

$ wget http://nginx.org/download/nginx-1.15.5.tar.gz -P /usr/src     # 下载nginx
$ cd /usr/src
$ tar xvf nginx-1.15.5.tar.gz
$ cd nginx-1.15.5
$ yum -y install gcc            # nginx是c写的
$ yum -y install pcre-devel   # url重写用到的包
$ yum -y install zlib  zlib-devel    # 解压缩用到的包
# 配置安装环境
$ ./configure  --prefix=/usr/local/nginx

# 编译源码生成可执行程序  依赖gcc
$ make  -j4
# 安装程序
$ make install

# 启动nginx
$ /usr/local/nginx/sbin/nginx
# 访问nginx首页
$ elinks http://192.168.10.42 -dump
# 当前系统监听tcp端口的进程
$ netstat -ntpl

# 删除不再需要的源码
$ rm -rf nginx-1.15.5

2、Mysql安装部署

  Mysql是一个关系型数据库,由瑞典的AB公司开发,后卖给oracle公司,目前分为商业版和社区版。

  现在主要是使用两大Myql版本:mysql5和mysql8。目前大多数公司使用5版本,因此在这里使用5.7的最新版本。

# 1.安装依赖包
$ yum -y install ncurses-devel gcc-* bzip2-* bison

# 2.升级cmake工具
# 软件获取:https://cmake.org/download
$ wget https://cmake.org/files/v3.13/cmake-3.13.0-rc2.tar.gz
$ tar xf cmake-3.13.0-rc2.tar.gz   # 解压
$ ./configure     # 配置
$ make -j4        # 多核编译减少等待时间
$ make install   # 安装
# 检查是否安装完成
$ cmake --version

# 3. 升级boost库文件
# boost库获取:https://www.boost.org
# 由于这里是安装5.7的mysql,因此下载的是boost_1_59_0.tar.bz2
$ tar xf boost_1_59_0.tar.bz2    # 解压
$ mv boost_1_59_0   /usr/local/boost

  在上面部署准备完成后,开始执行mysql安装

# 4.安装mysql
# 添加用户与组
$ useradd -s /sbin/nologin -r mysql
$ mkdir -pv /usr/local/mysql/data

# 软件获取:https://www.oracle.com=>下载=>myql=>社区版本,此处下载mysql-5.7.24.tar.gz
$ tar xf mysql-5.7.24.tar.gz      # mysql解压

# 用cmake配置
# 如果配置失败要重新配置,删除CMakeCache.txt文件即可
$ cmake .     -DCMAKE_INSTALL_PREFIX=/usr/local/mysql  \   # 指定安装路径
    -DMYSQL_DATADIR=/usr/local/mysql/data/ \    # 指定数据目录
    -DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \   # 指定sock文件路径
    -DWITH_INNBASE_STORAGE_EGNINE=1 \    # 安装Innodb存储引擎
    -DWITH_MYISAM_STORAGE_ENGINE=1 \      # 安装myisam存储引擎
    -DENABLED_LOCAL_INFILE=1 \    # 运行使用Load data命令从本地导入数据
    -DEXTRA_CHARSETS=all -DDEFAULT_CHARSET=utf-8 -DDEFAULT_COLLATION=utf8_general_ci \   # 安装所有字符集、默认字符集utf-8、检验字符
    -DWITH_DEBUG=0 \    # 关闭debug
    -DWITH_EMBEDDED_SERVER=1   \   # 生成一个libmysqld.a(.so)的库,这个库同时集成了mysql服务与客户端API
    -DDOWNLOAD_BOOST=1 -DENABLE_DOWNLOADS=1 -DWITH_BOOST=/usr/local/boost   # 运行boost   允许下载boost库文件

# 解释
$ cmake .     -DCMAKE_INSTALL_PREFIX=/usr/local/mysql  \   # 指定安装路径
    -DMYSQL_DATADIR=/usr/local/mysql/data/ \    # 指定数据目录
    -DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \   # 指定sock文件路径
    -DWITH_INNBASE_STORAGE_EGNINE=1 \    # 安装Innodb存储引擎
    -DWITH_MYISAM_STORAGE_ENGINE=1 \      # 安装myisam存储引擎
    -DENABLED_LOCAL_INFILE=1 \    # 运行使用Load data命令从本地导入数据
    -DEXTRA_CHARSETS=all -DDEFAULT_CHARSET=utf-8 -DDEFAULT_COLLATION=utf8_general_ci \   # 安装所有字符集、默认字符集utf-8、检验字符
    -DWITH_DEBUG=0 \    # 关闭debug
    -DWITH_EMBEDDED_SERVER=1   \   # 生成一个libmysqld.a(.so)的库,这个库同时集成了mysql服务与客户端API
    -DDOWNLOAD_BOOST=1 -DENABLE_DOWNLOADS=1 -DWITH_BOOST=/usr/local/boost   # 运行boost    允许下载boost库文件

# 编译
$ make -j4
# 安装
$ make install


# 5.启动测试
$ cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
$ chmod 755 /etc/init.d/mysql   # 赋权限
$ useradd -s /sbin/nologin -r mysql    # 添加用户
$ chown mysql:mysql /usr/local/mysql/ -R   # 修改目录权属
# 建立链接
$ 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

# 修改配置文件 /etc/my.cnf
[mysqld]
basedir=/usr/local/mysql          # mysql软件在哪
datadir=/usr/local/mysql/data   # mysql的数据在哪
socket=/usr/local/mysql/mysql.sock
symbolic-links=0
[mysqld_safe]
log-error=/var/log/mysql.log
pid-file=/var/run/mysql.pid

# 初始化数据库
$ /usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysqld/data/
# 注意:初始化后会得到一个临时密码

# 启动数据库
$ /etc/init.d/mysql start
$ lsof -i :3306  # 查看端口情况

# 修改密码
$ mysql_secure_installation   # 要使用刚刚得到的临时密码

# 登录数据库
$ mysql -uroot -pabc123 

3、python安装

# 下载python包
$ wget https://www.python.org/ftp/python/3.7.1/Python-3.7.1.tar.xz

# python安装
$ tar xf python-3.7.1.tar.xz
$ cd Python-3.7.1
$ yum -y install gcc-* openssl-* libffi-devel sqlite-devel
$ ./configure --enable-optimizations --with-openssl=/usr/bin/oponssl  # --enable-optimizations是包优化参数
$ make -j4   # 由于有加配置优化,这个步骤会很久
$ make install

  python的默认安装路径:/usr/local/lib/python3.7

  安装测试:

[root@web01 Python-3.7.1]# python3
Python 3.7.1 (default, Oct 27 2018, 22:51:15)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-28)] on linux
Type "help", "copyright", "credits" or "license" for more information. 
>>>
>>> exit();

  当我们从Python官方网站下载并安装好Python 3.7后,我们就直接获得一个官方版本的解释 :CPython。

4、升级pip

  pip是python包管理工具,该工具提供对python包的查找、下载、安装、卸载功能。由于我们下载了最新的python,因此需要更新pip。

$ pip3 install --upgrade pip

  如果出现报错:pip is configured with locations that require TLS/SSL,however the ssl module in Python is not available.

  需要修改 ~/Python-3.7.1/Modules/Setup文件,将注释去除。

211 SSL=/usr/local/ssl
212 _ssl _ssl.c 213         -DUSE_SSL -l$(SSL)/include -l$(SSL)/include/openssl 214         -L$(SSL)/lib -lssl -lcrypto

  然后重新执行make && make install。

5、安装python虚拟环境

  virtualenv 是一个创建隔绝的Python环境的工具。

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

[root@web01 ~]# pip3 install virtualenv

6、使用虚拟环境及安装django

[root@web01 ~]# virtualenv web01   # 创建环境
[root@web01 ~]# source web01/bin/activate    # 环境生效

# 前面带有(web01)说明在环境中
(web01) [root@web01 ~]# pip3 install django
# 用django新建一个项目
(web01) [root@web01 ~]#django-admin.py startproject myweb
# django启动
(web01) [root@web01 ~]#python3 manage.py runserver 192.168.10.42:8000
# 修改ALLOWED_HOSTS
(web01) [root@web01 ~]# vim myweb/settings.py
    ALLOWED_HOSTS = [*]

  此时在网站上可以看到django初始页面:

  技术分享图片

三、发布WEB

 

 

四、测试WEB

 

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

原文:https://www.cnblogs.com/xiugeng/p/10548032.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!