1.yum安装好,启动 安装: yum install mariadb-server mariadb 启动mabiadb: systemctl start mariadb 中止MariaDB: systemctl stop mariadb 重启MariaDB: systemctl restart mariadb 设置开机启动: systemctl enable mariadb 2.初始化mysql 确保mariadb服务器启动后, systemctl start mariadb 执行命令初始化 mysql_secure_installation 届时会提示 set root password? y New password:输入要为root管理员设置的数据库密码 Re-enter new password: 再次输入密码 Remove anonymous users? y (删除匿名帐户) Disallow root login remotely? n (禁止root管理员从远程登陆) Remove test database and access to it ? y(删除test 数据库并取消对它的访问权限) Reload privilege tables now? y (刷新受权表,让初始化后的设定当即生效) 3.修改mysql密码 MariaDB [(none)]>set password = PASSWORD('redhat123'); 4.建立mysql用户oldboy,查看oldboy用户信息 oldboy@'%' 表明oldboy用户能够在全部机器上远程登陆 oldboy@'127.0.0.1' mysql -uoldboy -p -h 127.0.0.1 oldboy@'localhost' mysql -uoldboy -p -h localhost 建立用户: MariaDB [(none)]>create user yuchao@'127.0.0.1' identified by 'redhat123'; 查看oldboy用户信息: mysql -uyuchao -p -h 127.0.0.1 #进入数据库 MariaDB [(none)]> show databases; 5.使用oldboy登陆mysql mysql -uoldboy -p 6.备份数据库,而后测试数据库删除后,恢复导入数据库 第一种备份方法: mysqldump -u root -p --all-databases > /tmp/all_db.dump #备份数据库数据 进入mariadb数据库,删除一个db: mysql -uroot -p MariaDB [(none)]>drop databases s13; 数据恢复: mysql -uroot -p < /tmp/all_db.dump 导入sql 文件的用法, 1.新建一个db create database s13crm; use s13crm; source /tmp/all_db.sql; show tables;
首先它是python的一个模块,所以能够经过pip3 安装好后,默认会添加在环境变量中,能够直接使用命令html
1.pip安装好virtualenv 安装 pip3 install virtualenv 建立目录 mkdir Myproject cd Myproject 建立基于python3的虚拟环境 名字叫作 my_venv_django1.11.15 第一个虚拟环境: virtualenv --no-site-pacjages --python=python3 venv1 # 安装成python3的解释器, 默认是python2解释器 第二个虚拟环境: virtualenv --no-site-pacjages --python=python3 venv2 2.激活virtualenv 激活第一个虚拟环境: source venv1/bin/cativate 激活第二个虚拟环境: source venv2/bin/activate 退出虚拟环境 deactivate 3.查看环境变量的区别 echo %PATH 查看在path的顶端是不是venv的bin目录 4.建立两个虚拟环境,分别安装django1.11.15,django2 ,而后用两个虚拟环境分别启动django项目 1.分别在虚拟环境下建立django项目 (venv1)[root@s13linux /home/all_venv 22:15:02]#django-admin startproject 项目名 2.第二个虚拟环境建立django项目 (venv2)[root@s13linux /home/all_venv 22:15:02]#django-admin startproject 项目名
[django-admin startapp app01 #这是建立app01]
3.分别修改django的settings.py文件,容许全部主机的访问 ALLOWED_HOSTS = ['*'] 4.分别启动django python3 manage.py runserver 0.0.0.0:8000 python3 manage.py runserver 0.0.0.0:9000
1.编译安装redis,用redis.conf启动 1.下载redis源码 第一种方法: 查看是否有 redis包 yum list redis 安装redis yum install redis -y 安装好后启动redis systemctl start redis 检测redis是否工做 redis-cli #redis 客户端工具 #进入交互环境后,执行ping,返回pong表示安装成功 127.0.0.1:6379>ping PONG 第二种源码安装: 1 下载redis源码 wget http://download.redis.io/releases/redis-4.0.10.tar.gz 2 解压缩 tar -zxf redis-4.0.10.tar.gz 3 切换至redis源码目录 cd redis-4.0.10.tar.gz 4 编译 make 5 编译好后,src/目录下有编译好的redis指令 make install 安装到指定目录 默认在/usr/local/bin 6 redis-server redis.conf 启动redis服务 对于redis.conf 配置文件 修改redis端口 port 6380 增长redis登陆密码 requirepass redis123 增长后台运行功能 daemonize yes 此时查看redis进程 ps -ef|grep redis redis多实例的概念 redis支持一台服务运行多个redis数据库,也就是多个redis实例 1.先启动第一个redis实例 准备好两个redis.conf配置文件,而且复制重命名为 redis-6379.conf (注意去修改端口6379) redus-6380.conf redis-server redis-6379.conf redis-server redis-6380.conf 检查redis进程 ps -ef|grep redis [root@s13linux /opt/redis-4.0.10 21:28:52]$ps -ef|grep redis root 2071 1 0 21:27 ? 00:00:00 redis-server 0.0.0.0:6379 root 2076 1 0 21:27 ? 00:00:00 redis-server 0.0.0.0:6380 7 登陆redis ./redis-cli 启动redis服务端 启动redis很是简单,直接./redis-server就能够启动服务端了,还能够用下面的方法指定要加载的配置文件: ./redis-server ../redis.conf 默认状况下,redis-server会以非daemon的方式来运行,且默认服务端口为6379。 2.配置redis.conf,设置后台运行redis,redis登陆密码,更改redis启动端口 (安全) protected-mode yes #打开保护模式 port 6380 #更改默认启动端口 requirepass xxxxxx #设置redis启动密码,xxxx是自定义的密码 启动redis服务器 redis-server /opt/redis-4.0.10/redis.conf & #指定配置文件启动redis,且后台启动 3.登陆redis,验证密码 使用密码登陆redis,使用6380端口 [root@oldboy_python ~ 09:48:41]#redis-cli -p 6380 127.0.0.1:6380> auth xxxx OK 补充: 检查redis是否设置了密码 127.0.0.1:6380> CONFIG get requirepass 1) "requirepass" 2) "xxxxxx" 若是没有的话,也能够给redis设置密码(命令方式) CONFIG set requirepass "xxxxxx" 4.练习redis数据操做 strings类型: set name "chaoge66" //设置name get name //读取name strings类型支持数值操做 set age "17" //设置key age get age //读取age incr age //数值+1,碰见数值操做时,redis会将字符串类型转成数值 get age //此时age是18,value仍然是字符串 type age //查看键的类型 list类型: redis的另一个数据结构叫作lists,中文叫列表 lists经常使用操做包括 LPUSH 在lists左侧插入一个新元素 RPUSH 在lists右侧插入一个新元素 LRANGE 在lists指定范围提取元素 LPOP 左侧删除 RPOP 右侧删除 示例: lpush mylist "1" //新建一个mylist,在头部插入元素"1" (integer) 1 //返回mylist元素个数 rpush mylist "2" //在mylist右侧插入元素"2" (INTEGER) 2 //返回mylist元素个数 127.0.0.1:6379> lpush mylist "0" //在mylist左侧插入元素"0" (integer) 3 //返回mylist元素个数 //列出mylist中从编号0到编号1的元素 127.0.0.1:6379> lrange mylist 0 -1 1) "0" 2) "1" 3) "2" lists类型经常使用在,消息队列、实现分页功能、存储文章评论 sets类型: redis的集合,是一种无序的集合,集合中的元素没有前后顺序。 //向集合myset中加入一个新元素"one" 127.0.0.1:6379> sadd myset "one" (integer) 1 127.0.0.1:6379> sadd myset "two" (integer) 1 //列出集合myset中的全部元素 127.0.0.1:6379> smembers myset 1) "one" 2) "two" //判断元素1是否在集合myset中,返回1表示存在 127.0.0.1:6379> sismember myset "one" (integer) 1 //判断元素3是否在集合myset中,返回0表示不存在 127.0.0.1:6379> sismember myset "three" (integer) 0 //新建一个新的集合yourset 127.0.0.1:6379> sadd yourset "1" (integer) 1 127.0.0.1:6379> sadd yourset "2" (integer) 1 127.0.0.1:6379> smembers yourset 1) "1" 2) "2" //对两个集合求并集 127.0.0.1:6379> sunion myset yourset 1) "1" 2) "one" 3) "2" 4) "two" 集合的使用好比QQ社交功能中的“好友标签”,朋友给你的好友标签“sb”,“dsb”等等,就能够吧每个用户的标签存储在集合里 zsets类型: redis不但提供了无需集合(sets),还很体贴的提供了有序集合(sorted sets)。 有序集合中的每一个元素都关联一个序号(score),这即是排序的依据。 127.0.0.1:6379> zadd myzset 1 baidu.com (integer) 1 //向myzset中新增一个元素360.com,赋予它的序号是3 127.0.0.1:6379> zadd myzset 3 360.com (integer) 1 //向myzset中新增一个元素google.com,赋予它的序号是2 127.0.0.1:6379> zadd myzset 2 google.com (integer) 1 //列出myzset的全部元素,同时列出其序号,能够看出myzset已是有序的了。 127.0.0.1:6379> zrange myzset 0 -1 with scores 1) "baidu.com" 2) "1" 3) "google.com" 4) "2" 5) "360.com" 6) "3" //只列出myzset的元素 127.0.0.1:6379> zrange myzset 0 -1 1) "baidu.com" 2) "google.com" 3) "360.com" redis缓存和mysql关系型数据库的区别,应用场景? 1.我们以取快递,快递公司和站点 mysql > 快递总公司 把快递总公司的部分物件,提早放到驿站 redis > 快递驿站 把一些数据,提早放到redis缓存中,加速查找,
支持高并发,能支持几万并发链接
资源消耗少,在3万并发链接下开启10个nginx线程消耗的内存不到200M
能够作http反向代理和负载均衡
支持异步网络i/o时间模型epollpython
1.编译安装nginx,启动 1,下载源码包: wget -c https://nginx.org/download/nginx-1.12.0.tar.gz 2,解压压缩源: tar -zxvf nginx-1.12.0.tar.gz 3,配置,编译安装: ./configure --prefix=/opt/nginx1-12/ --with-http_ssl_module --with-http_stub_status_module make && make install 4,启动nginx,进入sbin目录,找到nginx启动命令 cd sbin ./nginx #启动 ./nginx -s stop #关闭 ./nginx -s reload #从新加载 2.部署一个本身的web站点,例如pythonav.cn/xiaobo.gif,能够用本地hosts文件测试域名 1.部署一个 my_taobao.com 网站 先在本地搞一个测试域名,就是编辑 hosts哪一个文件 hosts文件在C:\Windows\System32\drivers\etc\hosts 10.0.0.10 mytb.com 而后在nginx.conf里面修改配置,以下 server { listen 80; server_name mytb.com; 2.首先打开nginx访问日志功能,用于记录网站访问日志,防止一些二货搞你的网站 编辑nginx.conf 打开如下注释 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; 3.网站文件根路径配置 location / { root html; index index.html index.htm; } 4.拒绝访问一个功能 location / { root html; index index.html index.htm; deny 你要拒绝的ip; } 5.错误页面的配置 这个40x.html是放在 html文件夹下的 /opt/nginx112/html/网站根路径 error_page 404 /40x.html; 6.配置文件设置好了以后,检测你的nginx.conf语法是否正确 使用-t参数检测语法是否正确 [root@s13linux /opt/nginx112 22:31:08]$./sbin/nginx -t nginx: the configuration file /opt/nginx112//conf/nginx.conf syntax is ok nginx: configuration file /opt/nginx112//conf/nginx.conf test is successful 7.还得启动nginx,修了nginx.conf须要从新启动或者热加载 sbin/nginx 直接敲命令是启动 sbin/nginx -t 检测语法 sbin/nginx -s reload 热加载 sbin/nginx -s stop 关闭nginx 3.打开access_log功能,测试访问 tail -f access.log (在配置文件里面解掉access_log的注释) 对应参数解析 $remote_addr 记录客户端ip $remote_user 远程用户,没有就是 “-” $time_local 对应[14/Aug/2018:18:46:52 +0800] $request 对应请求信息"GET /favicon.ico HTTP/1.1" $status 状态码 $body_bytes_sent 571字节 请求体的大小 $http_referer 对应“-” 因为是直接输入浏览器就是 - $http_user_agent 客户端身份信息 $http_x_forwarded_for 记录客户端的来源真实ip 97.64.34.118 4.nginx限制一个网站访问,用deny参数 限制ip或ip段访问 location / { deny 192.168.1.1; deny 192.168.1.0/24; allow 10.1.1.0/16; } 5.nginx错误页面优化 server { listen 80; server_name www.pythonav.cn; root html/pythonav; location /{ index index.html index.htm; } #在pythonav路径下的40x.html错误页面 error_page 400 403 404 405 /40x.html; } 40x.html : <img style='width:100%;height:100%;' src=https://pic1.zhimg.com/80/v2-77a9281a2bebc7a2ea5e02577af266a8_hd.png>
多名nginx虚拟主机 配置:mysql
nginx.conf:linux
C:\Windows\System32\drivers\etcnginx