linux python3

 

python3的linux环境编译安装

1. linux下安装软件的方式

 

首选yum工具,方便,自行解决软件之间的依赖关系,自动下载且安装

1.配置yum源(就是一个软件仓库,里面放了一堆rpm软件包)
  可以选择阿里云源,清华yum源
  配置第一个仓库,里面有大量系统常用软件
    wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
  还得配置第二个仓库,携带大量第三方软件(nginx,redis,mongodb,mairadb等)
    wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo

2.你得了解yum的仓库目录
    cd  /etc/yum.repos.d/       #在这个目录第一层的repo文件就会被识别问yum软件仓库
            
3.清空yum缓存,清空centos官方的yum软件缓存
    yum clean all  
        
4.生成新的阿里云的yum缓存
    yum makecache  
        
    -wget 在一个资源url的命令
    -apt-get ubuntu底下的yum
        
    -使用yum仓库,不仅仅可以使用第三方的yum仓库,还是可以指定官方的yum源(好比mariadb数据库的官方yum源,软件包最新)
    
        
    -rpm手动安装,得处理依赖关系
    
    -自由选择版本,且可以扩展第三方功能的安装方式,叫做源码编译安装

2. centos7下编译安装python3的方式

1.必须解决编译所需的基础开发环境
    yum install gcc patch libffi-devel python-devel  zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel -y
2.下载python3的编代码包      
解压缩 
    wget https://www.python.org/ftp/python/3.6.7/Python-3.6.7.tar.xz
    xz -d Python-3.6.7.tar.xz
    tar -xf Python-3.6.7.tar

4.进入解压缩生成的源码文件夹
    cd  Python-3.6.7

5.执行编译三部曲的命令
    第一曲:找到一个[配置的可执行文件,configure  ],执行它,且指定软件安装位置
    ./configure    --prefix=/opt/python367/
        
    第二曲:在上一步,会生成一个makefile,编译安装,在linux下必须用gcc工具去编译,使用的命令时make
    make 
    第三曲:这一步是执行安装,会生成一个/opt/python367文件夹,可用的解释器都在这里了
    make install  

6.配置环境变量,便于快捷使用python3
    1.先获取当前的PATH变量,然后把python3的bin目录加进去
    echo $PATH  
    /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/root/bin

    2.永久修改PATH的值
        -第一个是软连接
        -直接修改/etc/profile ,系统全局的配置文件,每个用户在登陆系统的时候,都会加载这个文件 
    vim /etc/profile
    写入新的PATH变量
    
    PATH="/opt/python367/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/root/bin"
 
    
    3.还得重新登陆,或者手动读取这个/etc/profile  
       source /etc/profile  #让这个文件中的变量生效

 

虚拟环境virtualenv以及 virtualenvwrapper工具管理python开发环境

virtualenv  (虚拟工具1)

1.下载虚拟环境的模块,它是python的一个模块,用pip安装
pip3  install -i https://pypi.douban.com/simple  virtualenv  

2.用命令创建一个虚拟环境 venv_django2

virtualenv   --no-site-packages   --python=/opt/python367/bin/python3.6   venv_django2 

#解释    --no-site-packages   创建的新的venv,不携带任何模块,是个纯洁的python解释器环境
           --python    指定以哪个解释器为本体,创建新的虚拟环境 
           
           
3.激活虚拟环境,系统会将venv的解释器目录,加到PATH的最前面

    source activate
    在激活虚拟环境的时候,注意检查下,命令和解释器是否来自于虚拟环境里面
    
    which  pip3 
    which  python3  

4.在虚拟环境下,安装新的模块,管理项目

 pip3  install -i https://pypi.douban.com/simple django==3.0b1

创建django项目 
django-admin startproject s23_django3


修改django的settings.py 中ALLOW_HOSTS=['*']

5。启动项目

python3  s23_django3/manage.py runserver 0.0.0.0:9999


6.退出虚拟环境命令
deactivate

virtualenvwrapper  (虚拟工具2,升级版)

1.安装  ,不要激活虚拟环境 
pip3 install -i https://pypi.douban.com/simple    virtualenvwrapper  


2.修改配置文件,每次开机就加载 virtualenvwrapper  这个工具

    1.打开一个用户个人的环境变量配置文件
    全局配置文件 /etc/profile  #每个用户登陆都生效
    用户个人配置文件 ~/.bash_profile  
    
    vim  ~/.bash_profile #root在登陆的时候,会读取这个文件中的代码 
    
    2.填入如下信息,针对你自己的python环境修改
    
        export WORKON_HOME=~/Envs   #设置virtualenv的统一管理目录
        export VIRTUALENVWRAPPER_VIRTUALENV_ARGS='--no-site-packages'   #添加virtualenvwrapper的参数,生成干净隔绝的环境
        export VIRTUALENVWRAPPER_PYTHON=/opt/python367/bin/python3.6      #指定python解释器
        source /opt/python367/bin/virtualenvwrapper.sh #执行virtualenvwrapper安装脚本
        
    3.此时可以使用这个工具,快捷的创建虚拟环境
    
        mkvirtualenv  虚拟环境名          #创建虚拟环境 
        lsvirtualenv                 #列出虚拟环境的名字 
        workon   虚拟环境名字         #激活或切换虚拟环境  
        lssitepackages               #列出虚拟环境中的模块信息,其实就是 
        cdvirtualenv                 #进入虚拟环境家目录 
        cdsitepackages              #进入虚拟环境第三方模块目录 
 

 

nginx学习

  1. nginx是一个优秀的web服务器,也是反向代理,负载均衡服务器
  2. 安装nginx 
    1.yum安装
        yum install nginx -y  #自动安装到某个目录,可以通过 rpm  -ql nginx  #进行查询安装 
        
    2.rpm安装,不推荐
    3.源代码编译安装 
     
  3. 安装淘宝nginx
    1.首先解决源码编译安装所需的基础开发环境
    
    yum install gcc patch libffi-devel python-devel  zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel openssl openssl-devel -y
    
    1,下载源代码
       wget  http://tengine.taobao.org/download/tengine-2.3.2.tar.gz
    
    2.解压缩tengine软件 
    
    3.进入源代码目录,指定安装路径,开始编译安装
        ./configure --preifx=/opt/tngx232/
        make && make install 
        
    4.配置nginx的环境变量,
    
    vim /etc/profile  #填入新的PATH
    
    PATH="/opt/python367/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/root/bin:/opt/tngx232/sbin"
    
    手动读取生效
    source /etc/profile  
    
    5.学习nginx的目录功能
        [root@s23_linux tngx232]# pwd
        /opt/tngx232
        [root@s23_linux tngx232]# ls
            conf   存放nginx.conf配置文件的
            html    存放静态文件的地方
            logs    存放nginx各种日志的
            sbin    存放nginx可执行命令的地儿
        
        
    6.讲师机由于之前安装过nginx,通过yum安装的,现在卸载掉
        yum remove nginx -y #    
        
    
    7.启动nginx,直接输入nginx命令
        nginx -s reload  #平滑重启nginx,不重启nginx,重新读取配置文件,立即生效
        nginx  -s stop   #停止nginx  
        nginx    #启动nginx  
        nginx  -t   #检测nginx.conf的语法是否正确
     
  4.   学习nginx的虚拟主机功能 ,部署一个web站点
    找到安装nginx的目录
    
    [root@s23_linux html]# pwd
    /opt/tngx232/html
    [root@s23_linux html]# ls
    50x.html  55kai.jpg  duige.html  index.html  test.mp4

     

  5. nginx的主配置文件学习 
  6. nginx的各种功能学习 
        1.修改nginx的server虚拟主机的端口以及各种配置
            server {
                #nginx监听的地址 
                listen       85;
                #定义网站的域名
                server_name  localhost;
    
                #charset koi8-r;
                #nginx的url匹配 , /这个斜杠就代表这样的请求:  192.168.13.117:85/   
                #这个是最低级匹配,所有的请求都会进入location,进行处理
                location / {
                    #root参数用于定义网页根目录,可以写绝对或者相对路径
                    #root   html;
                    root   /opt/s23html;
                    #index参数定义网页的首页文件名字     
                    index  index.html index.htm;
                }
    
                error_page   500 502 503 504  /50x.html;
                location = /50x.html {
                    root   html;
                }
            }
    
    1.dns客户端配置文件 
    vim /etc/resolv.conf  
    #修改如下内容
    
    nameserver 119.29.29.29 #nameserver填写值是 公网的dns服务器   
    
                            8.8.8.8  谷歌的公网dns
                            114.114.114.114
                            223.5.5.5  
                            223.6.6.6  #阿里巴巴的dns服务
                            119.29.29.29  #腾讯的dns服务器 
                            
    
    
    2.hosts文件,本地dns解析
       
            
           
        2.nginx的多虚拟主机功能 
        
            nginx的配置文件,多个server默认是自上而下的加载顺序,有先后顺序的
            
            
            1.基于域名的多虚拟主机  hosts文件,本地dns解析 
                   第一步,在nginx.conf中配置俩server{}
                   
                    #第一个虚拟主机的功能
                        server {
                            #nginx监听的地址 80
                            listen       80;
                            #定义网站的域名,需要到hosts中写死的,假的域名
                            server_name  www.s23lol.com;
                            
                            #charset koi8-r;
                            #nginx的url匹配 , /这个斜杠就代表这样的请求:  192.168.13.117:85/   
                            #这个是最低级匹配,所有的请求都会进入location,进行处理
                            location / {
                                #root参数用于定义网页根目录,可以写绝对或者相对路径
                                #当请求时  www.s23lol.com的时候,就去/opt/s23lol文件夹中寻找资料
                                root   /opt/s23lol;
                                #index参数定义网页的首页文件名字     
                                index  index.html index.htm;
                            }   
                            
                        }   
                    #第二个虚拟主机的功能
                    server {
                        listen  80;
                        server_name  www.s23hanju.com;
                        #进行路径匹配,当请求时 www.s23hanju.com:80/斜杠的时候,就进入这个匹配
                        location  /  {
                        #定义网页根目录 
                        root   /opt/s23hanju;
                        index   index.html;
                        }
                        }
    
                   1.1 分别创建/opt/s23lol  和/opt/s23hanju的文件夹,且创建资料
                   
                   
                   1.2  在windows下修改hosts文件,填入以下内容
                   C:\Windows\System32\drivers\etc\hosts 
                        192.168.13.117  www.s23hanju.com 
                        192.168.13.117  www.s23lol.com 
    
                    
    
            2.基于端口的多虚拟主机
            
            
            
            
    3.学习nginx的404页面优化
    修改nginx.conf中的一个参数,如下配置
    
                location / {
                    #root参数用于定义网页根目录,可以写绝对或者相对路径
                    #root   html;
                    root   /opt/s23lol;
                    #index参数定义网页的首页文件名字     
                    index  index.html index.htm;
                }
                #error_page参数定义错误页面优化
                error_page   404   /404.html;
    
    在/opt/s23lol中创建一个404文件,进行错误页面优化
    
    
    
    4.nginx的访问日志功能,检测用户的来源ip,访问时间,客户端地址信息
    
    就是在 nginx.conf 中找到http代码块,打开如下参数即可 
    
    http {
        include       mime.types;
        default_type  application/octet-stream;
        
        #日志格式 
        log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                          '$status $body_bytes_sent "$http_referer" '
                          '"$http_user_agent" "$http_x_forwarded_for"';
    
        access_log  logs/access.log  main;
        access_log  "pipe:rollback logs/access_log interval=1d baknum=7 maxsize=2G"  main;
    
    ....
    }

     

 

1

posted @ 2020-01-03 17:08  驰念  阅读(220)  评论(0编辑  收藏  举报