day03

拟墨画扇 提交于 2019-12-02 13:13:20

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
解压缩 
tar xf Python-3.6.7.tar.xz 

 

3.进入解压缩生成的源码文件夹

cd Python-3.6.7

 

4.执行编译三部曲的命令

第一曲:找到一个[配置的可执行文件,configure ],执行它,且指定软件安装位置
./configure --prefix=/opt/python367/

第二曲:在上一步,会生成一个makefile,编译安装,在linux下必须用gcc工具去编译,使用的命令时make
make 
第三曲:这一步是执行安装,会生成一个/opt/python367文件夹,可用的解释器都在这里了
make install 

 

5.配置环境变量,便于快捷使用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开发环境

# 关闭防火墙操作
systemctl stop firewalld
systemctl disable firewalld


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的最前面
  cd bin
  source activate  在激活虚拟环境的时候,注意检查下,命令和解释器是否来自于虚拟环境里面  which pip3   which  python3
4.在虚拟环境下,安装新的模块,管理项目
  pip3 install -i https://pypi.douban.com/simple django==2.0.1
  # django3版本存在问题 pip3 install -i https://pypi.douban.com/simple django==3.0b1

  创建django项目 
  django-admin startproject s23_django2

  # 修改django的settings.py 中ALLOW_HOSTS=['*']
  # 进入vim
  vim s23_django3/s23_django3/settings.py 
  ALLOWED_HOSTS=['*']

5.启动项目
  python3 s23_django3/manage.py runserver 0.0.0.0:9999

6.退出虚拟环境命令  deactivate

 

 

wwwww

 


虚拟环境工具2:
virtualenvwrapper ,升级版的虚拟环境工具

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.首先解决源码编译安装所需的基础开发环境
1.首先解决源码编译安装所需的基础开发环境
1.首先解决源码编译安装所需的基础开发环境
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.虚拟环境装好,运行django1和django2

2.安装好nginx,配置好如下功能,展示页面

-nginx站点功能,提供一个jpg访问,如 192.168.13.117/s23.jpg
-nginx多虚拟主机功能,基于域名区分
www.s23lol.com
www.s23hanju.com

-nginx的404错误页面优化功能,展示错误页面
-nginx的访问日志功能配置




 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!