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