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学习
-
nginx是一个优秀的web服务器,也是反向代理,负载均衡服务器
-
安装nginx
1.yum安装 yum install nginx -y #自动安装到某个目录,可以通过 rpm -ql nginx #进行查询安装 2.rpm安装,不推荐 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的语法是否正确
- 学习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
- nginx的主配置文件学习
- 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