Linux nginx发布基于python的WEB环境,,实验环境约定# 系统


实验环境约定

# 系统: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.tarcd cmake-3.6.0-rc1./configuremakemake 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.gz2)软件安装mkdir /usr/local/boosttar -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/srcwget https://downloads.mysql.com/archives/get/p/23/file/mysql-5.7.24.tar.gz2)软件安装tar -zxvf mysql-5.7.24.tar.gzcd mysql-5.7.24useradd -s /sbin/nologin -r mysqlcmake . -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 install3)安装后操作cp support-files/mysql.server /etc/init.d/mysqlchmod 755 /etc/init.d/mysqlchown mysql.mysql /usr/local/mysql/ -Rln -sf /usr/local/mysql/bin/* /usr/bin/ln -sf /usr/local/mysql/lib/* /usr/lib/ln -sf /usr/local/mysql/libexec/* /usr/local/libexecln -sf /usr/local/mysql/share/man/man1/* /usr/share/man/man1ln -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/mysqdatadir=/usr/local/mysql/datasocket=/usr/local/mysql/mysql.socksymbolic-links=0[mysqld_safe]log-error=/var/log/mysql.logpid-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

# 安装Pythonyum -y install gcc-* openssl-* libffi-devel sqlite-develcd /usr/localsrcwget https://www.python.org/ftp/python/3.7.1/Python-3.7.1.tar.xztar xf Python-3.7.1.tar.xzcd Python-3.7.1./configure --enable-optimizations --with-openssl=/usr/bin/opensslmakemake 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 = [‘*‘]

四. 部署发布平台

技术图片

#安装uwsgiuwsgi是服务器和服务端应?程序的通信协议,规定了怎么把请求转发给应?程序和返回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 = rootgid = rootsocket = 127.0.0.1:9090master = true //启动主进程vhost = true //多站模式no-site = true //多站模式时不设置??模块和?件workers = 2 //?进程数reload-mercy = 10 //平滑的重启vacuum = true //退出、重启时清理?件max-requests = 1000 //开启10000个进程后, ?动respawn下limit-as = 512 // 将进程的总内存量控制在512Mbuffer-size = 30000pidfile = /var/run/uwsgi9090.pid //pid?件,?于下?的脚本启动、停?该进程daemonize = /var/log/uwsgi9090.logpythonpath = /root/web/lib/python3.7/site-packages
# nginx配置

技术图片

五. 测试

Linux nginx发布基于python的WEB环境

评论关闭