1. 程式人生 > >Linux 安裝源 Linux系統基礎優化及常用命令

Linux 安裝源 Linux系統基礎優化及常用命令

  RPM軟體包管理器                       連結: 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