Linux 安裝源 Linux系統基礎優化及常用命令
1.檢視yum源倉庫
2.檢視CentOS-Base.repo檔案
3.配置yum源
https://opsx.alibaba.com/mirror 找到這個網站,然後找到centos ——》幫助 ——》centos7執行下載阿里雲yum源 要養成做事先備份的好習慣然後下載資源
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo -o 指定下載路徑 將檔案下載到 CentOS-Base.repo 檔案中
yum clean all 清空yum軟體源
yum makecache 生成快取
4.再次檢視yum源倉庫,yum.repos.d 檔案中就會出現下載的內容
5.安裝epel源,用於下載第三方額外的軟體(nginx,redis等等)
yum install -y epel-release # 利用 yum 安裝(install) epel源(epel-release) 並確認(-y)
6.安裝nginx軟體測試
yum install nginx -y
7.系統服務管理命令
systemctl start nginx 啟動nginx服務
systemctl stop nginx 關閉 nginx 服務
systemctl restart nginx 重啟 nginx 服務
8.此時瀏覽器訪問10.0.0.10
關於Linux的應用安裝方式
Linux的安裝方式有兩種:yum安裝 編譯安裝yum 安裝簡單省事,但安裝效能差:yum安裝無法按照自己的意志進行安裝, yum install XXX -y 安裝XXX程式 systemctl start XXX 啟動XXX程式 他的過程你根本無法插手,
編譯安裝的優勢是
- 編譯安裝時可以指定擴充套件的module(模組),php、Apache、nginx都是一樣有很多第三方模組,如mysql,編譯安裝時,需要定製儲存引擎(innodb、mylasm)
- 編譯安裝可以統一路徑,Linux軟體約定安裝目錄在/opt/下面
- 軟體倉庫版本一般比較低,編譯原始碼安裝可以根據需求,安裝最新版本
lrzsz檔案的上傳下載
yum install lrzsz -y
sz 檔名 上傳(基於Linux)
rz 檔名 下載(基於Linux)
Linux網路部分
在我們剛裝好linux的時候,需要用xshell進行遠端連線,那就得獲取ip地址,有時候網絡卡預設是沒啟動的,Linux也就拿不到ip地址,因此我們得手動啟動網絡卡
#編輯網絡卡配置檔案
vim /etc/sysconfig/network-scripts/ifcfg-eth0
#修改配置引數
ONBOOT=yes
# 簡化為
ifconfig 查詢、設定網絡卡和ip等引數
直接輸入ifconfig會列出已經啟動的網絡卡,也可以輸入ifconfig eth33單獨顯示eth33的資訊
各選項解釋是:eth33 網絡卡的代號
lo 迴環地址loopback inet IPv4的Ip地址
netmask 子網掩碼
broadcast 廣播地址
RX/TX 流量發/收情況 ,tx是傳送(transport),rx是接收(receive)
packets 資料包數
errors 資料包錯誤數
dropped 資料包有問題被丟棄的數量
collisions 資料包碰撞情況,數值太多代表網路狀況差
ifup、ifdown 指令碼命令,更簡單的啟動關閉網路?????
ifup和ifdown是直接連線到/etc/sysconfig/network-scripts目錄下搜尋對應的網絡卡檔案
ifup 網絡卡號 啟動網絡卡
ifdown 網絡卡號 關閉網絡卡
ip 符合指令,直接修改上述功能
這個ip命令是結合了ifconfig和route兩個命令的功能。ip addr show #檢視ip資訊
cat /etc/redhat-release # 檢視系統版本資訊
unmae -r # 檢視核心版本號
uname -m # 檢視系統多少位
uname -a # 檢視核心所有資訊
tree命令
可以更形象的展示資料夾的關係
下載:yum install tree -y
測試 :tree 資料夾
安裝python3
1安裝python前的庫環境,非常重要
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
下載安裝
wget https://www.python.org/ftp/python/3.6.2/Python-3.6.2.tar.xz
xz -d Python-3.6.2.tar.xz
tar -xf Python-3.6.2.tar
# 可以直接呼叫 tar -xf Python-3.6.2.tar.xz# 編譯安裝
yum install gcc -y # 安裝 gcc
./configure --prefix=/opt/python # 釋放編譯檔案,指定python3的安裝路徑
make # 編譯,用於從makefile 中讀取指令,然後編譯
make install # 安裝,從makefile 中讀取命令,然後將python安裝到 /opt/python
make && make install # 兩步合成一步
注意:
下載後得到的是 Python-3.6.2.tar.xz壓縮包,
解壓縮後得到 python3.6 安裝程式
make install 之後得到的是 python程式
django
下載django
pip install django==版本號(使用pip還是pip3,看實際情況)
建立專案
django-admin startproject 專案名稱
啟動專案
python3 manage.py runserver ip+埠
安裝redis
Redis 是一個開源(BSD許可)的,記憶體中的資料結構儲存系統,它可以用作資料庫、快取和訊息中介軟體
快取記憶體介紹
快取記憶體利用記憶體儲存資料,讀寫速度遠超硬碟(騰訊的微信紅包,使用redis)
快取記憶體可以減少i/o操作,降低i/o壓力
redis是wmware開發的開源免費的kv型NoSQL快取產品
redis具有很好的效能,最多可以提供10萬次/秒的讀寫
目前新浪微博團隊組建了世界上最大規模的redis
第一種方法:yum安裝
1、配置好阿里雲yum源,epel源
2、檢視是否有redis包:yum list redis
3、安裝redis : yum install redis -y
4、啟動redis :systemctl start redis
5、檢驗是否工作:
redis-cli 進入redis 客戶端
進入互動式環境後,執行ping,返回pong 表示安裝成功 (檢視服務端是否開啟:ps -ef netstat -tunlp | grep redis)
第二種方法:編譯安裝
1、下載原始碼
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
4、無需釋放編譯檔案,直接進行編譯、安裝
make && make install
至此redis 預設安裝到了 /usr/local/bin
redis可執行檔案
./redis-benchmark //用於進行redis效能測試的工具 ./redis-check-dump //用於修復出問題的dump.rdb檔案 ./redis-cli //redis的客戶端 ./redis-server //redis的服務端 ./redis-check-aof //用於修復出問題的AOF檔案 ./redis-sentinel //用於叢集管理
啟動redis服務端
在 /usr/local/bin 目錄中輸入 ./redis-sercer 啟動伺服器
直接執行redis-server會在前端直接執行,也就是說:關閉當前回話,則redis服務也隨之關閉,正常情況下,redis需要從後臺啟動,並指定啟動配置檔案。
後臺啟動redis服務
1、進入你的安裝程式(原始碼解壓縮後的目錄)
2、找到一個redis.conf檔案
3、編輯redis.conf檔案
4、儲存退出後,再啟動redis
5、進入redis
#執行客戶端命令即可進入 ./redis-cli #測試是否連線上redis 127.0.0.1:6379 > ping 返回pong代表連線上了 //用set來設定key、value 127.0.0.1:6379 > set name "chaoge" OK //get獲取name的值 127.0.0.1:6379 > get name "chaoge"
連結: redis部落格
redis安全
在使用雲伺服器時,安裝的redis3.0+版本都關閉了protected-mode,因而都遭遇了挖礦病毒的攻擊,使得伺服器99%的佔用率!!
因此我們在使用redis時候,最好更改預設埠,並且使用redis密碼登入。
1、找到redis.conf(在安裝目錄中)
在底線模式 :set nu 顯示行號
在命令模式:/prot 查詢關鍵詞
在底線模式::行號 轉跳
protected-mode yes #開啟保護模式 port 6380 #更改預設啟動埠 requirepass xxxxxx #設定redis啟動密碼,xxxx是自定義的密碼修改完後,
執行命令 : redis-server /root/redis-4.0.10/redis.conf (家目錄~ 的下面) 載入配置檔案
啟動服務端
redis-cli -p 6380 (呼叫6380的埠)
關於密碼的設定和查詢
這樣你的redis就不容易被黑客入侵了
熱載入和redis-server /root/redis-4.0.10/redis.conf的區別
熱載入
在重啟伺服器的情況下,重新載入檔案
redis。。。
在呼叫redis.conf檔案的情況下重新載入
redis.conf檔案中有些特殊的配置(埠、密碼)
yum安裝mysql(mariadb)
yum install mariadb-server mariadb # 安裝
systemctl start mariadb #啟動MariaDB
systemctl stop mariadb #停止MariaDB
systemctl restart mariadb #重啟MariaDB
systemctl enable mariadb #設定開機啟動
在確認 MariaDB 資料庫軟體程式安裝完畢併成功啟動後請不要立即使用。為了確保資料庫的安全性和正常運轉,需要先對資料庫程式進行初始化操作。
這個初始化操作涉及下面 5 個 步驟。
➢ 設定 root 管理員在資料庫中的密碼值(注意,該密碼並非 root 管理員在系統中的密 碼,這裡的密碼值預設應該為空,可直接按回車鍵)。
➢ 設定 root 管理員在資料庫中的專有密碼。
➢ 隨後刪除匿名賬戶,並使用 root 管理員從遠端登入資料庫,以確保資料庫上執行的業 務的安全性。
➢ 刪除預設的測試資料庫,取消測試資料庫的一系列訪問許可權。
➢ 重新整理授權列表,讓初始化的設定立即生效。
確保mariadb伺服器啟動後,執行命令初始化
mysql_secure_installation
初始化mysql
登入mariadb和在cmd上登入mysql是一樣的
基本命令和mysql是相同的
建立使用者
mysql使用grant命令對賬戶進行授權,grant命令常見格式如下
grant 許可權 on 資料庫.表名 to 賬戶@主機名 對特定資料庫中的特定表授權 grant 許可權 on 資料庫.* to 賬戶@主機名 對特定資料庫中的所有表給與授權 grant 許可權1,許可權2,許可權3 on *.* to 賬戶@主機名 對所有庫中的所有表給與多個授權 grant all privileges on *.* to 賬戶@主機名 對所有庫和所有表授權所有許可權
退出資料庫,使用root登入,開始許可權設定
MariaDB [(none)]> grant all privileges on *.* to [email protected]; MariaDB [mysql]> show grants for [email protected];
移除許可權
MariaDB [(none)]> revoke all privileges on *.* from [email protected];
配置mysql
編輯mysql配置檔案/etc/my.cnf [mysqld] character-set-server=utf8 datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock collation-server=utf8_general_ci security risks symbolic-links=0 log-error=/var/log/mysqld.log pid-file=/var/run/mysqld/mysqld.pid [client] default-character-set=utf8 [mysql] default-character-set=utf8中文編碼設定
遠端連線設定哦設定所有庫,所有表的所有許可權,賦值許可權給所有ip地址的root使用者 mysql > grant all privileges on *.* to [email protected]'%' identified by 'password'; #建立使用者 mysql > create user 'username'@'%' identified by 'password'; #重新整理許可權 flush privileges;授權配置
資料庫的備份與恢復
mysqldump命令用於備份資料庫資料
[[email protected] ~]# mysqldump -u root -p --all-databases > /tmp/db.dump
進入mariadb資料庫,刪除一個db
[[email protected] ~]# mysql -uroot -p MariaDB [(none)]> drop database s11;
進行資料恢復,把剛才重定向備份的資料庫檔案匯入到mysql中
[[email protected] ~]# mysql -uroot -p < /tmp/db.dump
nginx
nginx是一個開源的,支援高效能,高併發的www服務和代理服務軟體。它是一個俄羅斯人lgor sysoev開發的,作者將原始碼開源出來供全球使用。
nginx比它大哥apache效能改進許多,nginx佔用的系統資源更少,支援更高的併發連線,有更高的訪問效率。
nginx不但是一個優秀的web服務軟體,還可以作為反向代理,負載均衡,以及快取服務使用。
安裝更為簡單,方便,靈活。
nginx可以說是非常nb了
一. gcc 安裝 安裝 nginx 需要先將官網下載的原始碼進行編譯,編譯依賴 gcc 環境,如果沒有 gcc 環境,則需要安裝: yum install gcc-c++ 二. PCRE pcre-devel 安裝 PCRE(Perl Compatible Regular Expressions) 是一個Perl庫,包括 perl 相容的正則表示式庫。nginx 的 http 模組使用 pcre 來解析正則表示式,所以需要在 linux 上安裝 pcre 庫,pcre-devel 是使用 pcre 開發的一個二次開發庫。nginx也需要此庫。命令: yum install -y pcre pcre-devel 三. zlib 安裝 zlib 庫提供了很多種壓縮和解壓縮的方式, nginx 使用 zlib 對 http 包的內容進行 gzip ,所以需要在 Centos 上安裝 zlib 庫。 yum install -y zlib zlib-devel 四. OpenSSL 安裝 OpenSSL 是一個強大的安全套接字層密碼庫,囊括主要的密碼演算法、常用的金鑰和證書封裝管理功能及 SSL 協議,並提供豐富的應用程式供測試或其它目的使用。 nginx 不僅支援 http 協議,還支援 https(即在ssl協議上傳輸http),所以需要在 Centos 安裝 OpenSSL 庫。 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 -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 #重新載入安裝、啟動nginx
netstat -tunlp |grep 80 curl -I 127.0.0.1 #如果訪問不了,檢查selinux,iptables
在conf/nginx.conf檔案中
由於咱們之前用yum裝過一次nginx,因此yum幫你配置好了nginx的環境變數,可能就會影響你編譯安裝的nignx執行
因為執行的是yum的nginx,而你自己的編譯nginx並沒有啟動
所以,果斷點,yum remove nginx (刪除yum下載的nginx)這時,你的nginx環境變數就沒了
部署web站點
先在本地搞一個測試域名,就是編輯 hosts 那個檔案 hosts檔案在C:\Windows\System32\drivers\etc\hosts
在檔案中新增 ip 域名
示例: 10.0.0.10 taobao.com
在nginx.conf 裡面修改配置
開啟訪問日誌,用於記錄網站訪問日誌,防止被攻擊
網站檔案根路徑配置
錯誤頁面設定 也是在程式的html目錄中,預設是404.html頁面
配置檔案設定好以後,進行檢查並熱載入(重啟)
檢查
重啟後進行熱載入
小結
中文亂碼問題
程序管理問題
關於多個域名問題
還是在hosts檔案中新增一個域名 10.0.0.10 ddm.com(如果不放心,就從網上輸入這個域名,看看有沒有響應頁面)
接下來修改配置檔案 nginx.conf
儲存退出後,進行熱載入(重啟)生效
virtualenv
1、安裝
pip3 install virtualenv (也可以用pip)
2、方便管理,建立一個Myproject 目錄,並進入到目錄中
mkdir Myproject
cd Myproject
3、建立獨立執行環境
1)在哪裡執行命令就在哪裡生成執行環境
2)指定那個django版本,就生成哪個版本,否則預設生成系統環境中的django
4、啟用虛擬環境
執行虛擬環境中的activate檔案
5、檢查環境變數
應用
1、找到你的專案(或者新建一個專案)並進入到專案中
python3 manage.py runserver 0.0.0.0:80
建立兩個虛擬環境,分別安裝django1.11.15,django2 ,然後用兩個虛擬環境分別啟動django專案
1.分別在虛擬環境下建立django專案
(my_venv_django1.11.15) [[email protected] /home/all_venv 22:15:02]$django-admin startproject mysite_v1
2.第二個虛擬環境建立django
(venv2) [[email protected] /home/all_venv 22:15:49]$django-admin startproject mysite_v2
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
zzz