Linux nginx发布基于python的WEB环境
2021-02-20 12:18
标签:login upgrade include with col prefix var django 下载 Linux nginx发布基于python的WEB环境 标签:login upgrade include with col prefix var django 下载 原文地址:https://www.cnblogs.com/wangzengyi/p/12682495.html实验环境约定
# 系统:centos7.7
# 防?墙:关闭
# Selinux:关闭
# 服务器地址:192.168.31.199/24
一. 安装Nginx
1. 安装依赖工具
yum -y install epel-release make zlib zlib-devel gcc-c++ libtool openssl openssl-devel
2. 安装PCRE
# PCRE 作用是让 Nginx 支持 Rewrite 功能。
[root@localhost ~]# cd /usr/local/src/
[root@localhost src]# wget http://downloads.sourceforge.net/project/pcre/pcre/8.35/pcre-8.35.tar.gz
[root@localhost src]# tar zxvf pcre-8.35.tar.gz
[root@localhost src]# cd pcre-8.35
[root@localhost pcre-8.35]# ./configure
[root@localhost pcre-8.35]# make && make install
[root@localhost pcre-8.35]# pcre-config --version #查看PCRE版本
3. 安装nginx
[root@localhost ~]# cd /usr/local/src/
[root@localhost src]# wget https://nginx.org/download/nginx-1.16.1.tar.gz
[root@localhost src]# tar -zxvf nginx-1.16.1.tar.gz
[root@localhost src]# cd nginx-1.16.1/
[root@localhost nginx-1.16.1]# ./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-pcre=/usr/local/src/pcre-8.35
[root@localhost nginx-1.16.1]# make && make install
[root@localhost nginx-1.16.1]# /usr/local/nginx/sbin/nginx -v #查看Nginx版本
二. 安装mysql
1. 安装依赖包
yum -y install ncurses-devel gcc-* bzip2-*
2. 升级cmake?具
1)获得软件
https://cmake.org/download/
2)安装软件
tar xf cmake-3.6.0-rc1.tar
cd cmake-3.6.0-rc1
./configure
make
make install
3. 升级boost库?件
1) 软件获得
https://www.boost.org/ 请选择1.5.9版本
下载链接如下:
wget https://jaist.dl.sourceforge.net/project/boost/boost/1.59.0/boost_1_59_0.tar.gz
2)软件安装
mkdir /usr/local/boost
tar -zxvf boost_1_59_0.tar.gz -C /usr/local/boost/
# 该软件为绿色版本,直接解压到/usr/local/boost/目录下即可
# boost 1.5.9版本配合的mysql是5.7;
4. 安装mysql
1)软件获得
cd /usr/local/src
wget https://downloads.mysql.com/archives/get/p/23/file/mysql-5.7.24.tar.gz
2)软件安装
tar -zxvf mysql-5.7.24.tar.gz
cd mysql-5.7.24
useradd -s /sbin/nologin -r mysql
cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/usr/local/mysql/data -DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock -DDOWNLOAD_BOOST=0 -DWITH_INNODBBASE_STORAGE_ENGINE=1 -DENABLE_LOCAL_INFILE=1 -DEXTRA_CHARSETS=all -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DMYSQL_USER=mysql -DWITH_DEBUG=0 -DWITH_EMBEDED_SERVER=1 -DWITH_BOOST=/usr/local/boost
# 如果需要重新make需要删除
# 以上cmake参数解释
-DCMAKE_INSTALL_PREFIX 指定安装路径
-DMYSQL_DATADIR 指定存放数据?件的?录位置
-DMYSQL_UNIX_ADDR 指定mysql.sock的路径
-DDOWNLOAD_BOOST=0 不下载boost库?件
-DWITH_INNODBBASE_STORAGE_ENGINE=1 指定默认存储引擎
-DENABLE_LOCAL_INFILE=1 允许客户端使?local data local 导?本地数据?件
-DEXTRA_CHARSETS=all ?持所有字符集
-DDEFAULT_CHARSET=utf8 默认字符集是UTF-8
-DDEFAULT_COLLATION=utf8_general_ci 数据库校对规则
-DMYSQL_USER=mysql 管理?户是mysql
-DWITH_DEBUG=0 关闭debug
-DWITH_EMBEDED_SERVER=0 ?成?个libmysqld.a(.so)的库,这个库同时集成了mysql服务与客户端API
-DWITH_BOOST=/usr/local/boost 指定boost的路径
make -j4 #使用4个cpu内核一起进行编译
make install
3)安装后操作
cp support-files/mysql.server /etc/init.d/mysql
chmod 755 /etc/init.d/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
#初始化数据库,并记录临时密码;
/usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/
#修改配置文件
vim /etc/my.cnf
#确保所有参数的路径正确
egrep -v "^#|^$" /etc/my.cnf
[mysqld]
basedir=/usr/local/mysq
datadir=/usr/local/mysql/data
socket=/usr/local/mysql/mysql.sock
symbolic-links=0
[mysqld_safe]
log-error=/var/log/mysql.log
pid-file=/var/run/mysql.pid
!includedir /etc/my.cnf.d
5. 启动测试
/etc/init.d/mysql start #启动数据库
mysql_secure_installation #修改密码
mysql -u root -p[password] #登录数据库
三. 安装python
# 安装Python
yum -y install gcc-* openssl-* libffi-devel sqlite-devel
cd /usr/localsrc
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
./configure --enable-optimizations --with-openssl=/usr/bin/openssl
make
make install
默认安装路径:/usr/local/lib/python3.7
# 升级pip。
# pip 是 Python 包管理?具,该?具提供了对Python 包的查找、下载、安装、卸载的功能。
pip3 install --upgrade pip
#安装python虚拟环境工具
#virtualenv 是?个创建隔绝的Python环境的?具。virtualenv创建?个包含所有必要的可执??件的?件夹,?来使?Python?程所需的包。
pip3 install virtualenv
# 创建Python虚拟环境并使用
[root@web01 ~]# virtualenv web01
[root@web01 ~]# source web01/bin/activate
(web01) [root@web01 ~]# pip3 install django
(web01) [root@web01 ~]#django-admin.py startproject myweb
(web01) [root@web01 ~]#python3 myweb/manage.py runserver 192.168.31.199:8000
(web01) [root@web01 ~]# vim myweb/settings.py
ALLOWED_HOSTS = [‘*‘]
四. 部署发布平台
#安装uwsgi
uwsgi是服务器和服务端应?程序的通信协议,规定了怎么把请求转发给应?程序和返回
uWSGI是?个Web服务器,它实现了WSGI协议、uwsgi、http等协议。Nginx中HttpUwsgiModule的作?是与uWSGI服务器进?交换。
nginx 和 uWSGI交互就必须使?同?个协议,?上?说了uwsgi?持fastcgi,uwsgi,http协议,这些都是nginx?持的协议,只要?家沟通好使?哪个协议,就可以正常运?了。
[root@web01 ~]# pip3 install uwsgi
# 编辑uwsgi配置文件
[root@web01 ~]# vim /etc/uwsgi/uwsgi.ini
[uwsgi]
uid = root
gid = root
socket = 127.0.0.1:9090
master = true //启动主进程
vhost = true //多站模式
no-site = true //多站模式时不设置??模块和?件
workers = 2 //?进程数
reload-mercy = 10 //平滑的重启
vacuum = true //退出、重启时清理?件
max-requests = 1000 //开启10000个进程后, ?动respawn下
limit-as = 512 // 将进程的总内存量控制在512M
buffer-size = 30000
pidfile = /var/run/uwsgi9090.pid //pid?件,?于下?的脚本启动、停?该进程
daemonize = /var/log/uwsgi9090.log
pythonpath = /root/web/lib/python3.7/site-packages
# nginx配置
五. 测试
文章标题:Linux nginx发布基于python的WEB环境
文章链接:http://soscw.com/index.php/essay/57970.html