Linux - Ubuntu Server基礎

部分名詞的理解:python

Ubuntu Server:部署環境,用來部署項目的linux server操做系統(絕大部分的項目是跑在linux服務器上的)。mysql

XShell:用來鏈接linux的工具,方便操做linux。linux

pycharm:開發工具(專業版對於web開發更友好)ios

python3:編程語言。web

 

安裝篇redis

至於選擇哪個發行版作server,看這裏:http://mitblog.pixnet.net/blog/post/41037058(須要本身搞定上網問題)sql

(一).鏡像下載完後,我選擇用VMWare安裝。VMWare爲咱們會進行簡易安裝,很方便的。就是本身設置好喜歡的用戶名和密碼便可。注:ubuntu18.04 LTS的安裝界面有很大的變化,得本身一步一步設置。mongodb

(1).提示1:系統裝完,先升級apt,否則你不少插件都裝不上!命令:sudo apt update 而後 sudo apt upgradeshell

(2).提示2:新的系統,確定有不少程序沒有安裝過,執行命令的時候,若是沒有這個程序,ubuntu server會有對應的提示。直接提示了安裝的命令,照着敲就能夠了。數據庫

(3).查看當前系統的版本:sudo lsb_release -a

(二).XShell鏈接虛擬機

若是出現問題,看這篇文章:http://blog.51cto.com/mofansheng/1586203

(三).安裝Python3

本人安裝了2018/6/27發佈的python3.7.0

# 先安裝依賴。避免 ModuleNotFoundError No module named "_ctypes" 這個錯誤
sudo apt-get -y update
sudo apt-get -y upgrade
sudo apt-get -y dist-upgrade
sudo apt-get -y install build-essential python-dev python-setuptools python-pip python-smbus
sudo apt-get -y install libncursesw5-dev libgdbm-dev libc6-dev
sudo apt-get -y install zlib1g-dev libsqlite3-dev tk-dev
sudo apt-get -y install libssl-dev openssl
sudo apt-get -y install libffi-dev

# 事先準備好源碼包

# 開始安裝,依次執行下面代碼
tar -xvf Python-3.7.0.tar.xz
cd Python-3.7.0
./configure
make 
sudo make altinstall

# 若是沒有報任何錯誤,就表明安裝成功了
# 解釋器的默認路徑 /usr/local/bin/python3.7

# 若是須要建立軟鏈,可參考下面的命令
# ubuntu16.04 LTS,自帶了Python3.5.2,若是須要共存就指定下軟鏈的名字
ln -s /usr/local/bin/python3.7 /usr/bin/

# 試一下有沒有成功
python3.7
View Code

(四).安裝MySQL

(1).安裝mysql

直接執行命令:sudo apt install mysql-server mysql-client

注意事項:裝完MySQL後,若是 mysql -u root -p 被拒絕了,執行下面的代碼:

$ sudo mysql -u root
mysql> use mysql;
mysql> update mysql.user set authentication_string=password('qwe123') where user='root'
mysql> update user set plugin='mysql_native_password' where User='root';
mysql> flush privileges;
View Code

(2).開啓mysql遠程鏈接

mysql中的root用戶默認是拒絕遠程鏈接,要麼改root用戶的鏈接方式:

1.用命令行進入mysql
mysql -u root -p

2.user表是在mysql這個數據庫中,須要進入mysql這個數據庫中
use mysql;

3.執行sql命令
update user set host='%' where user='root' AND host='localhost';

4.刷新系統權限相關的表
FLUSH PRIVILEGES;
View Code

要麼添加一個新用戶(推薦此操做):

# 1、進入mysql操做
# 1.建立普通用戶
CREATE USER 'username'@'%'  IDENTIFIED BY 'password';

# 2.給普通用戶賦權
GRANT ALL ON *.* TO 'username'@'%';

# 3.刷新系統權限相關表
FLUSH PRIVILEGES;
View Code

修改mysql的配置文件(必須修改):

# 1.
vim /etc/mysql/mysql.conf.d/mysqld.cnf

# 2.
找到bind-address,把值127.0.0.1 改成 0.0.0.0
# 容許全部IP訪問

# 3.重啓mysql
service mysql restart
View Code

(五).安裝Redis

(1).先 sudo apt update

(2).輸入命令:sudo apt install redis-server 直接安裝

(3).輸入命令:redis-server 啓動服務

(4).可使用"redis-server -v",來查看當前redis的版本

(六).安裝MongoDB

(1).直接執行命令:sudo apt install mongodb

(2).可以使用"mongod --version",查看版本

(七).注意事項

(1).ubuntu系統默認是禁止root用戶登陸的

 

全局與虛擬環境:

(一).概念

首先,虛擬環境它不是虛擬機,它是在虛擬機中的一個開發環境。

虛擬機至關於一個水池,虛擬環境就是水池中的一個水桶。一個虛擬環境一個水桶,水桶與水桶之間相互獨立,互不相關。

在全局中配置的python3環境,與虛擬環境也互不相關。

(二).用途

不一樣的項目也許用的是不用的解釋器。好比,西瓜皮,它只支持python2.7。

難道會由於一個項目,而去改動全局環境嗎?改很差,全局環境也崩了。

那麼就建一個虛擬環境,而後在pycharm中,鏈接此虛擬環境中的解釋器。

而其餘項目,鏈接其餘虛擬環境中的解釋器。各個虛擬環境互不相關,因此也不會發生鬥毆事件。

 

1、兩個經常使用的虛擬機

虛擬機是什麼?就是電腦系統中的一臺小電腦。

1.VirtualBox:

對系統要求很高,非正版系統會有不知明的問題。先進入VirtualBox的官網,步驟看下圖:

若是這兩步完了仍是不行,果斷換VMware!

 

2.VMware:

專業的虛擬機軟件,很是好用!(就是吃內存厲害)

VMware11開始再也不支持32位系統,VMware10是最後一個支持32位系統的版本。

特別注意:32位系統中運行"Ubuntu1604_server_32bit.oav"會有問題,須要在物理機的文件中,用記事本打開"Ubuntu1604_server_32bit.vmx",

把本來virtualhw.version="11"這一行中的"11",改爲"10"。保存以後,再運行就沒問題了。結果以下圖:

 

2、兩種聯網模式

1.橋接:適用於wifi。和主機級別同樣,就至關於再插了一根網線。

2.nat模式:至關於把物理機當成路由器,外面機子上網。

補充:virtualbox使用nat模式的話,xshell鏈接須要端口轉發。VMware則極少須要端口轉發。

端口不要隨便寫,避免寫:80 8080 443 3389 8443,會佔用!尤爲是80 8080!

XShell採用SSH服務鏈接linux。

 

3、Linux基礎內容

Linux穩定,並且多用戶之間互不干擾。每個用戶都是在家目錄下的一個文件夾。

Linux沒有盤符,只有一個根目錄,全部文件放在根目錄下。

Linux一切皆文件,哪怕是目錄,也是一個文件。

linux分區大小寫!命令與參數之間要有空格!

 

4、Linux基礎命令

(一).pwd 顯示當前完整路徑

(二).cd 交互目錄

默認進入家(home)目錄。切換根目錄:cd /  切換回家目錄:cd ~  切換用戶:su root  退出當前用戶,回到上一個用戶:exit  只要不是根目錄,就是相對路徑:cd 目錄名稱/  上一次目錄:cd -

補充:修改root密碼:sudo passwd xxxxx。這個oav的root用戶密碼是隨機的。root用戶標識:#,普通用戶標識:$。

(三).ls 查看

ls -a 全部文件(隱藏文件前有個點".")

ls -l 詳細信息

ls -h 比較人性化

(常常是:ls -lh 出來的結果可視性特別好)

ls -S 區分大小寫

(四).man 幫助

man +命令。可是cd沒有幫助,是個例外。翻頁:b向上,F向下,q退出

(五).tree 樹狀查看,看目錄結構

若是報錯了,就須要先安裝一下:sudo apt-get install tree  sudo提權(root用戶不用提權)

(六).mkdir 建立目錄

mkdir -p 分級建立;mkdir -v 看過程;

例1:mkdir -vp aa/bb/cc 先建立aa,再在aa下建bb,再在bb下建cc;同理刪除也能夠 -vp

例2:mkdir qw we er 是三個同級目錄了。

(七).touch 新建文件(可被編輯的)

例:touch demo.py 注:linux中的後綴是給人看的。linux沒有區分什麼文件,認爲都是文件。

(八).rmdir 刪除空目錄(若是目錄下有文件,就不會刪)

例1:rmdir a/b/c 刪除的是c目錄,由於路徑精確到了"c"

(九).rm 刪除文件

rm -r 分級刪除

例:rm -r a 刪除了整個a目錄

rm -f 強制刪除

例:rm -rf * 能夠這樣說:千萬不要用!全刪了!恢復linux的代價至關巨大。

(十).cat 查看,cat貓,像貓同樣瞄一下。

(十一).more / less

more翻完了自動退出,less必須按Q退出。

(十二).軟硬連接

軟硬連接:源文件中的內容改變了,連接文件的內容也同時修改了。

不一樣的是源文件被刪後,軟連接就廢了。而硬連接仍是可使用。

硬連接至關因而備份。

(十三).

 

5、查看硬件信息

/dev 目錄是用來存放設備文件

/etc 目錄下是存放的存放系統程序或者通常工具的配置文件

/proc 目錄下就是存放的操做系統運行時,進程(正在運行中的程序)信息及內核信息

(一).硬件信息的查看方式

一種是經過cat在/proc目錄下去查看對應硬件的信息;而另外一種就是系統提供的專門命令。

第一種方式,能夠說是一招鮮,吃遍天,但不夠全面和直觀。而第二種,可能在使用的過程當中,更全面,可是須要記識更多的命令。

(二).cat方式

經過cat命令查看/proc目錄下的各類硬件設備信息

(1).查看CPU信息

cat /proc/cpuinfo

(2).查看板卡信息

cat /proc/pci

(3).查看內存信息

cat /proc/meminfo

(4).查看USB設備

cat /proc/bus/usb/devices

(5).查看鍵盤和鼠標

cat /proc/bus/input/devices

(6).查看各設備的中斷請求(IRQ)

cat /proc/interrupts

(三).專用命令方式

針對多個硬件的命令有:

(1).lipic:主要是有來列出機器中的PCI設備,好比聲卡、顯卡、貓、網卡等,主板集成設備也能列出來。

(2).dmidecode:查看硬件信息,包括bios、cpu、內存等信息。是一種可讀的方式dump出機器的DMI(Desktop Management Interface)信息。這些信息包括了硬件以及BIOS,既能夠獲得當前的配置,也能夠獲得系統支持的最大配置。

(3).dmesg:dmesg是一個顯示內核緩衝區系統控制信息的工具,可是須要注意的是dmesg工具並非專門用來查看硬件芯片組標識的工具,但經過這個工具能讓咱們知道機器中的硬件的一些參數。

(4).hwbrowser:當前硬件配置的圖形化瀏覽器,這個工具是圖形的。可能系統在默認的狀況下沒有安裝,須要另外安裝才行。

(四).此外,還有一些設備能夠經過專門的命令進行查看,好比查看cpu的lscpu,參看硬盤的lsblk,參看系統的uname。

相關文章
相關標籤/搜索