linux

Linux筆記html

概念
服務器就是一個性能超強的計算機
linux是一個操做系統,centos7的發行版
linux命令是什麼,就是一個可執行的二進制程序
python first.py python是解釋文件中的代碼前端

golang
go run fitst.go golang去讀取解釋一個文件
go build fist.go 將first.go文件代碼編譯成一個可執行文件,fitst 這個命令
.java .rb(ruby) .c .exe(windows可執行文件) vue

 


touch 建立文本
mkdir 建立文件夾
vi 編輯文本的
vim vi的增強版,咱們得須要本身下載:yum -y install vimjava


rm 刪除文件,文件夾
rm -r 帶有提示
rm -rf 不帶提示的,直接刪除,慎用!!!
rmdir 刪除空的文件夾 python


mv 更名
mv one.txt two.txt
mv 移動文件,文件夾
mv /root/s15/two.txt /root/s16/nan/
cd 更換目錄
. 當前工做目錄
.. 表明上一級工做目錄
- 表明上一次的工做目錄
~ 當前用戶家目錄 mysql


ls 查看文件夾內容
cat 讀取文本文件內容
pwd 打印當前工做目錄
ip a 查看iplinux

 

linux命令的學習
遠程鏈接的操做,虛擬機查看ip:ip a
xshell工具:ssh root@ip 或者 ssh ip(ssh 192.168.13.168)
nginx

linux文件目錄結構
linux經過正斜槓區分目錄,像個樹同樣git

/var 存放常常變化的文件
/home 普通用戶家目錄
/home/xiaoliu 小劉同窗的用戶家目錄
/etc 存放配置文件的目錄
/etc/my.cnf mysql的配置文件,能夠修改mysql的中文編碼支持
/bin binary二進制 存放可執行文件,存放了一堆命令
/root 超級用戶的家目錄
/opt 存放第三方軟件的目錄
/opt/mysql
/opt/nginx
/opt/python3.6


添加用戶
useradd li #建立用戶li
passwd li 123456 #給li用戶建立密碼,不指定用戶默認給當前登陸用戶修改密碼
刪除用戶:
userdel -r li#徹底刪除,用這個就能夠
注意的是若是用命令(su - root)進行用戶的切換,再進行刪除用戶須要exit退出,徹底退出則能夠刪除golang


查看隱藏文件
ls -la
參數-l 以列表形式顯示文件
-a 顯示全部隱藏的文件
linux以.開頭的文件或者文件夾,都是隱藏的


建立文件夾
mkdir -p 遞歸建立文件夾
mkdir -p /tmp/chaogedir
mkdir ./s15/nvtongxue/{alex,wupeiqi,zhao} 一次性建立多個文件夾


環境變量
linux的環境變量 PATH
在linux上也裝python3的時候
/opt/python36/bin/python3.6

[root@localhost /]# echo $PATH
/usr/local/sbin:
/usr/local/bin:
/usr/sbin:
/usr/bin:
/root/bin:
/opt/python36/bin/python3.6:
/opt/nginx/bin/nginx

當我輸入python3.6的時候,它會按照path的順序,自上而下的查找python

linux的路徑
只要從根目錄開始的查找,就是絕對路徑
/home/s15/nvtongxue/chaoge 絕對路徑

我當前在nantongxue目錄下
../../s15/nvtongxue/juange

例子
2.建立/tmp/chaogeLinux.txt,用絕對路徑方式與相對路徑兩種方法
絕對路徑
touch /tmp/chaogelinux.txt
相對路徑的寫法
cd tmp
touch ./chaogelinux.txt


echo 命令
顯示echo給定的值
echo "趙一寧nb" > yining.txt

w 覆蓋寫入新內容
a 追加模式,從文件末寫入新內容

> 重定向輸出符,
>> 重定向追加輸出符
<< 重定向寫入符

cat filename.txt -n 查看文本內容 且顯示行號


vim
vim one.txt #進入one.txt文本中
:set nu 顯示行號
粘貼複製前提是命令模式,也就是按下ESC後
在光標所在行 yy 複製這一行:5yy 複製5行
在光標所在行 dd 刪除這一行:5dd 刪除5行


python.py報錯問題
在腳本文件的第一行,寫一個 #coding:utf8
#coding:utf8
print("halo 我認得")



more 用於查看大文件
linux的man手冊 查看命令的幫助
everything的軟件--------->電腦查找文件的軟件

 

cp拷貝命令
cp 目標文件 考到哪裏路徑(cp /root/s15/nv/one.txt /root/s16/nan/)
cp -r 遞歸拷貝文件夾 及上


find查找文件
find 從哪找 找什麼
find / -name 文件名
找到你服務器的/opt目錄下的 settings.py (find /opt -name settings.py)
-type 文件類型
f是文件
d是目錄


linux管道命令
能夠將命令1的結果 傳遞給命令2 去執行
將cat命令的結果,丟給grep再次處理
cat settings.py | grep "STA*"


grep命令
查找字符串的命令
#從settings.py中查找出 STA*開頭的那一行
grep "STA*" settings.py
#查找出除了 dqw*開頭的一行,其餘的內容,且輸出行號
grep -v "dqw*" settings.py -n


tail head 命令
head 默認顯示前十行(注意!必須切到絕對路徑下!pwd看一下是否是有/root/)
head -5 /root/s15/nv/one.txt (顯示前5行)

tail /root/s15/nv/one.txt 默認顯示後10行

tail -f 實時監控的命令


alias別名命令
alias查看命令。注意rm='rm -i'
設置rm別名:
當用戶輸入rm的時候給它提示:別刪!
alias rm="echo 別刪!"

取消別名
unalias rm #alias查看的時候注意這裏沒有rm,rm -r你在刪除文件的時候不會有提示,咱們還得手動的去設置 alias rm='rm -i'


scp 遠程傳輸命令
#本身的文件路徑 目標ip的地址以及傳到的路徑
scp /root/s15/one.txt root@192.168.11.125(目標地址):/home/


python 補漏
*args 位置參數,接收到一個元祖
**kwargs 關鍵詞傳參,接收一個字典

 

linux文件夾大小的命令
ls -h
du -h
du -sh 查看文件夾大小的合計


linux查看時間
data 查看系統時間,若是不對咱們須要本身下載ntp:yum -y install ntp,
以後進行設置時間:ntpdate ntp aliyum.com

wget下載資源的命令
linux如何與windows傳輸文件
經過一個lrzsz的工具包
#安裝軟件
yum install lrzsz -y


id查看用戶組信息
id root 查看root的用戶id(uid 超級用戶) 以及組id(gid 添加的用戶 gourp id 組的成員)
id xiaobai(查看用戶的用戶組信息)
/etc/passwd 存放用戶信息
/etc/group 存放用戶組信息
經過id命令查看用戶信息

su 切換用戶
su - lizhiqiang(切換到lizhiqiang用戶)#注意 su後邊的 - 加上-表明徹底切換,包括環境變量
root用戶切換普通用戶 不要密碼反之須要輸入root密碼


xshell快捷鍵
ctrl + l 清屏
ctrl + d 退出登陸
ctrl + shift + r 快速登陸
退出登陸 exit logout

文件和目錄的權限
1.認識名詞
r read 可讀
w write 可寫
x 可執行

-rw-r--r--. 1 root root 712819 Dec 7 08:17 girl.gif -是文件
drwxr-xr-x. 2 root root 6 Dec 26 20:49 nb d是文件夾

權限相關 軟鏈接數 屬於哪一個用戶 屬於哪一個組 文件大小 日期 文件名

文件夾的權限
d rwx(user) r-x(group) r-x(others)
root這個用戶 屬於root組裏的 other權限

2.linux讀寫操做
可讀 cat vi more less head tail tac
可寫 echo vi >重定向符號啦
可執行 二進制程序,能夠運行的程序

3.修改文件的權限
chmod o+x li.txt #(給li.txt文件加上other權限的可執行進入權限)
chmod o-w li.txt #(給li.txt文件去掉other權限的可寫的權限)

4.修改文件的屬主
chown lizhiqiang li.txt #(把li.txt文件改爲屬於lizhiqiang用戶,-rw-r--r-x. 1 lizhiqiang root 10 Dec 27 23:33 li.txt)

5.修改文件的屬組
chgrp lizhiqiang li.txt #(把li.txt文件改爲屬於lizhiqiang用戶組,-rw-r--r-x. 1 lizhiqiang lizhiqiang 10 Dec 27 23:33 li.txt)


軟鏈接和環境變量
二者相似,區別是軟鏈接相似快捷方式,環境變量在系統文件中添加屬於本身的執行文件的上一級也就是bin目錄


tar壓縮解壓
lrzsz 上傳下載的小工具
xftp 文件傳輸工具

-c 壓縮參數
-x 解壓參數
-v 顯示過程
-f 指定文件 這個參數要寫在最後

語法
壓縮文件
tar -cf s15.tar * 壓縮當前文件目錄的s15全部的文件#(tar -cf 壓縮文件名.tar 想壓縮的內容)
解壓文件
tar -xf s15.tar 解壓s15壓縮包的文件#(tar -xf 壓縮文件名)


ps -ef 查看進程
ps -ef 查看進程,還能夠結合grep一塊兒用
pa -ef | grep python #查看和python相關的進程


kill殺死進程
kill 123 #殺死進程號是123的進程
kill -9 123 #若是123進程死活殺不死加上-9參數,強制乾死和進程相關的依賴
killall nginx #殺死nginx全部的進程


netstat查看網絡信息
netstat -tunlp |grep 8000 過濾出 django的8000端口是否存貨

netstat [選項]
-t或--tcp:顯示TCP傳輸協議的連線情況;
-u或--udp:顯示UDP傳輸協議的連線情況;
-n或--numeric:直接使用ip地址,而不經過域名服務器;
-l或--listening:顯示監控中的服務器的Socket;
-p或--programs:顯示正在使用Socket的程序識別碼和程序名稱;
-a或--all:顯示全部連線中的Socket;


防火牆
1.SELinux(內置的防火牆)ssh連不上機器多數是由於這個,很少說,直接上關閉方法
查詢selinux狀態
getenforce
暫時中止selinxu
setenforce 0
永久關閉selinux
vi /etc/selinux/conf
# enforcing - SELinux security policy is enforced. 開啓
# permissive - SELinux prints warnings instead of enforcing. 臨時關閉
# disabled - No SELinux policy is loaded. 永久關閉

修改以下行
SELINUX=disabled
重啓機器,使得selinx永久關閉

2.軟件的防火牆
systemctl status firewalld #查看防火牆狀態
systemctl stop firewalld #關閉防火牆
systemctl disable firewalld#關閉防火牆開機啓動
systemctl is-enabled firewalld.service#檢查防火牆是否啓動

3查看防火牆狀態
iptables -L


查看系統字符編碼
echo $LANG


df命令
用於顯示磁盤分區上的可以使用的磁盤空間。默認顯示單位爲KB
df -h


設置主機名
hostnamectl set-hostname li(把主機名改爲li)


定時任務
crontab -l 查看任務
crontab -e 編輯任務

#每一個星期一的上午8點到11點的第3和15分鐘執行命令
分 時 日 月 周
* * * * *
3,15 8-11 * * 1 執行命令

#每個月的1,10,22日的4:45重啓nginx
分 時 日 月 周
* * * * *
45 4 1,10,22 * * /usr/bin/systemctl restart nginx


linux下載軟件格式
1.源碼包格式
2.rpm二進制包格式(這種安裝方式,須要手動解決依賴關係,有可能裝一個mysql,裝個倆小時)
3.yum源安裝(yum工具,自動的搜索下載rpm包,且安裝,且解決依賴關係,自動處理下載其餘的依賴rpm包)


yum國內倉庫環境的搭建
yum源的倉庫路徑在/etc/yum.repos.d/而後這個目錄底下,只有 以 .repo結尾的文件,纔會被識別爲yum倉庫
1.在/etc/yum.repos.d/目錄底下,定製咱們本身的repo倉庫文件
2.咱們本身沒有yum倉庫,咱們就去拿阿里巴巴的yum倉庫
3.https://opsx.alibaba.com/mirror 這就是阿里巴巴的鏡像站
4.下載阿里巴巴的yum倉庫文件
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
wget下載文件後,-O參數,指定放到某個目錄,且更名
5.清除yum緩存
yum clean all
6.生成新的阿里雲的yum軟件緩存
yum makecache


再配置epel額外的倉庫源,這個倉庫裏就存放了不少第三方軟件,例如redis mysql nginx
1.配置epel倉庫
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo

2.最好再生成yum緩存
yum makecache
3.請爲所欲爲的使用 yum工具


python環境的搭建
1.切換到咱們的opt目錄下,opt咱們存放咱們的第三方的軟件
cd /opt

2.直接輸入命令進行下載python源碼
wget https://www.python.org/ftp/python/3.6.2/Python-3.6.2.tgz
3.這裏須要說一下記住!python3的依賴包,咱們必須先下載好依賴包,不然後期會出現一些問題
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
4.解壓源碼
tar -xvf Pthon3.6.2.tgz
5.切換源碼包目錄
cd Python-3.6.2.tgz
6.進行編譯安裝
釋放編譯的文件makefile:./configure --prefix=/opt/python36/
#--prefix 指定軟件的安裝路徑
7。開始編譯python3
make
8.編譯和安裝(這一步完成以後纔會出現/opt/python36)
make install
9.配置環境的變量
echo $PATH(查看環境變量) #/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
10.變量的賦值
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/opt/python36/bin
11.linux有一個全局我的配置文件(/etc/profile)
vim /etc/profile
寫入:PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/opt/python36/bin
12.讀取文件讓她生效
source /etc/profile

13.測試可否進行運行
13.1安裝django
pip3 install django
13.2建django項目
django-admin startproject mysite
13.3建django應用
django-admin startapp app01
13.4編寫視圖函數
13.5注意修改setting.py的allow_hosts文件[]里加上"*"
14.啓動django項目
python3 manage.py runserver 0.0.0.0:8000
15.須要說明一下的是當咱們在網上訪問的時候注意不要是0.0.0.0這個ip,應該是咱們虛擬機的ip+8000端口號
,還有就是若是訪問不了記得看一下防火牆是否是關閉
查看防火牆:iptables -L
關閉防火牆:systemctl stop firewalld


安裝virtualevn
1.下載virtualenv工具(在豆瓣安裝)
pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple virtualenv
2.安裝完成後你的linux就多了一個virtualenv命令
3.建立虛擬環境venv1
virtualenv --no-site-packages --python=python3 s15venv1
#--no-site-packages 這是構建乾淨,隔離的模塊的參數
#--python=python3 這個參數是指定虛擬環境以哪個物理解釋器爲基礎的
4.進入虛擬環境激活虛擬環境
找到你的虛擬環境目錄bin地下的activate文件
source myenv/s15venv1/bin/activate

激活虛擬環境,原理就是修改了PATH變量,path是有順序執行的
echo $PATH 檢查環境變量
which python3
which pip3 檢查虛擬環境是否正常

5.退出虛擬換的命令:deactivate



保證本地開發和測試同樣的環境
咱們新建一個虛擬的環境,裏邊有咱們須要的各類環境和安裝包,如今咱們要轉移到另外一臺虛擬環境運行,咱們須要同樣的依賴包,
1.命令:pip3 freeze > requirements.txt(把當前虛擬環境的依賴包打印在requirements.txt文件中)
2.在另外一臺虛擬環境中命令:pip3 install -r requirements.txt 這樣咱們就安裝了同樣的依賴包


virtualenvwrapper虛擬環境管理工具(就是管理虛擬環境的工具)
1.前提:必須是在物理解釋器下(不是其中的一個虛擬環境)
pip3 install virtualenvwrapper
2.注意:path的配置,須要將物理解釋器的python,放在path最前面(查找有順序)
[root@localhost ~]# echo $PATH
vim /etc/profile/(總得環境配置文件)
#/opt/python36/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/root/bin
3.編輯用戶家目錄的.bashrc文件(用戶登錄的時候就會讀取這個文件)
3.1進入用戶的家目錄:vim ~/.bashrc
3.2添加字符串:
export VIRTUALENVWRAPPER_VIRTUALENV_ARGS='--no-site-packages'
#添加virtualenvwrapper的參數,生成乾淨隔絕的環境
export VIRTUALENVWRAPPER_PYTHON=/opt/python36/bin/python3
#指定python解釋器
source /opt/python34/bin/virtualenvwrapper.sh
#執行virtualenvwrapper安裝腳本,這個是virtualenvwrapper.sh的安裝路徑(查看安裝路徑:which virtualenvwrapper.sh)
3.3 :x (至關於:wx!)
3.4 退出:logout
3.5從新登陸:ssh ...

4.若是正確則會使用virtualenvwrapper工具
5.mkvirtualenv li (建立li的虛擬環境且激活虛擬環境)
6.workon li (切換li的虛擬環境)
7.deactivate (退出虛擬環境)

9.cdvirttualenv(進入當前激活的虛擬環境所在的目錄(這裏建咱們的項目app))
10.cdsitepackages (進入當前激活的虛擬環境的,python包的目錄(下載第三方軟件包))
8.rmvirtualenv li(刪除li的虛擬環境)


redis的安裝
1.進入/opt/目錄下:cd /opt/
2.源碼包安裝:wget http://download.redis.io/releases/redis-4.0.10.tar.gz
3.解壓當前目錄:tar -zxf redis-4.0.10.tar.gz
4.進入源碼包編譯安裝:make && make install
5.執行redis-servre #啓動redis
6.找到redis.conf 找到 daemonize 把no改爲yes#後臺運行
7.啓動:redis-servre redis.conf #制定配置文件啓動,而且後臺運行
8.啓動客戶端:redis-cli
9.客戶端:ping #返回結果是PONG 表明成功
10 top#查看進程和CPU佔用率
11.爲了安全咱們須要更改咱們的默認端口,進程安全
11.1 ps -ef|grep redis #查看redis的進程以後殺死
11.2進入redis.conf -->bind=0.0.0.0 #遠程訪問
11.3進入redis.conf更改默認端口:port=6379 -->6380
11.4進入redis.conf更改密碼:requirepass =123456
11.5 grep 123456 redis.conf#查看剛剛設置的密碼
11.6指定配置文件啓動:redis-servre redis.conf#剛剛設置的文件開始生效
11.6.1啓動服務端:redis-cli -p 6380 #設置的端口號必須加上不然報錯
11.6.2 auth 123456#跟上密碼 (#keys * #redis-servre redis.conf)
11.6.3 keys *#如今就能夠了

12.經過登陸redis,用命令查看redis的密碼
config set requirepass 新的密碼 #設置新密碼
config get requirepass #獲取當前的密碼


mysql安裝
1.安裝的三種方式
yum
源碼
rpm
區別
1.路徑區別-yum安裝的軟件是他自定義的,源碼安裝的軟件./configure --preifx=軟件安裝的絕對路徑
2.yum倉庫的軟件,版本可能比較低,而源碼編譯安裝,版本可控
3.編譯安裝的軟件,支持第三方功能擴展./configure 這裏能夠加上不少參數,定製功能
2.源碼安裝
1.mariadb官網
1.手動建立 mariadb.repo倉庫文件
touch /etc/yum.repos.d/mariadb.repo
而後寫入以下內容
[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.1/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1
1.1.若是下載速度太慢,請刪除 mariadb.repo,只是爲了使用阿里雲的yum源中的mariadb
rm -rf /etc/yum.repos.d/Mariadb.repo
而後清空yum 緩存
yum clean all
2.阿里安裝
yum install mariadb-server mariadb -y
3.安裝完成後,啓動mariadb服務
systemctl start/stop/restart/status mariadb
systemctl enable mariadb 開機啓動mariadb
4.mysql初始化
mysql_secure_installation 這條命令能夠初始化mysql,刪除匿名用戶,設置root密碼等等....
詳情見:https://www.cnblogs.com/pyyu/p/9467289.html
5.設置mysql的中文編碼支持,修改/etc/my.cnf
1.
vi /etc/my.cnf
在[mysqld]中添加參數,使得mariadb服務端支持中文
[mysqld]
character-set-server=utf8
collation-server=utf8_general_ci
2.重啓mariadb服務,讀取my.cnf新配置
systemctl restart mariadb
3.登陸數據庫,查看字符編碼
mysql -uroot -p

輸入 \s 查看編碼
6.輸入查看狀態:systemctl status mariadb# Active: active (running)啓動

7.查看進程:[root@localhost yum.repos.d]# pa -ef | grep mariadb
8.啓動:[root@localhost yum.repos.d]# mysql -uroot -p123456(密碼)
9.mysql經常使用命令:
desc 查看錶結構
create database 數據庫名
create table 表名
show create database 庫名 查看如何建立db的
show create table 表名; 查看如何建立table結構的

#修改mysql的密碼
set password = PASSWORD('redhat');

#查詢mysql數據庫中的用戶信息
use mysql;
select host,user,password from user;

3.數據庫的安全設置
1.建立普通用戶:
create user erduan@'%' identified by 'erduan666'#建立用戶erduan在全部設備登陸密碼是erduan666
2.root給二短用戶添加權限
grant all privileges on *.* to 帳戶@主機名    #對全部庫和全部表受權全部權限
grant all privileges on *.* to erduan@'%'; #給yining用戶授予全部權限
flush privileges; #刷新受權表
3.當你在window中登陸mysql數據庫root用戶須要作

3.1root用戶:
grant all privileges on *.* to root@'%' ident ified by '123456';#對全部數據庫下和表在root用戶下可操做經過密碼123456
flush privileges;#刷新權限表
3.2window用戶:
mysql -uerduan -p -h 192.168.13.86(服務器的地址)

4.數據的備份:
[root@master ~] mysqldump -u root -p --all-databases > /tmp/db.dump#linux命令,必須退出mysql
5.數據的恢復;
mysql -uroot -p < /tmp/db.dump #在linux系統,退出mysql



6.mysql主從配置:
博客:https://www.cnblogs.com/pyyu/p/9467289.html
1.準備主庫的配置文件 /etc/my.cnf
寫入開啓主庫的參數
[mysqld]
server-id=1 #標註 主庫的身份id
log-bin=s15mysql-bin #那個binlog的文件名

2.重啓mairadb,讀取配置文件
systemctl restart mariadb

3.查看主庫的狀態
mysql -uroot -p

show master status; #這個命令能夠查看 日誌文件的名字,以及數據起始點

4.建立用於主從數據同步的帳戶
create user 'yuanhao'@'%' identified by 'yuanhaobuxitou';

5.授予主從同步帳號的,複製數據的權限
grant replication slave on *.* to 'yuanhao'@'%';

6.進行數據庫的鎖表,防止數據寫入

flush table with read lock;

7.將數據導出
mysqldump -u root -p --all-databases > /opt/zhucong.dump

8.而後將主庫的數據,發送給從庫
scp /opt/zhucong.dump root@從庫:/opt/

9.此時去從庫的mysql上,登陸,導入主庫的數據,保持數據一致性
mysql -uroot -p
source /opt/zhucong.dump

2.從庫的配置
1.寫入my.cnf,從庫的身份信息
vi /etc/my.cnf
[mysqld]
server-id=10

2.檢查一下主庫和從庫的 參數信息

show variables like 'server_id';
show variables like 'log_bin';

3.經過一條命令,開啓主從同步
change master to master_host='192.168.13.78',
master_user='yuanhao',
master_password='yuanhaobuxitou',
master_log_file='s15mysql-bin.000001',
master_log_pos=571;

4.開啓從庫的slave同步
start slave;

5.查看主從同步的狀態
show slave status\G;

6.查看兩條參數 ,確保主從正常
Slave_IO_Running: Yes
Slave_SQL_Running: Yes


nginx
1.須要瞭解
有錢的技術棧:apache web服務器 + java + tomcat應用服務器 + oracle + memcached + redhat 企業版linux + svn(代碼管理工具)
沒錢的技術站:nginx(負載均衡) + python(virtualenv) + uwsgi (python的應用服務器,啓動了10個進程處理django drf 請求)
+ mysql (阿里雲的rds主從複製)
+redis的主從賦值
+git
+vue前端代碼服務器
+linux(阿里雲的centos7)
2.nginx下載:
2.1下載全部的nginx依賴包:
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
2.2安裝配置nginx軟件(源碼)
wget -c https://nginx.org/download/nginx-1.12.0.tar.gz
2.3解壓編譯和安裝
tar -zxvf nginx-1.12.0.tar.gz#解壓
切換源碼目錄:./configure --prefix=/opt/nginx112/
編譯安裝:make && make install
2.4進入·nginx目錄
cd /opt/nginx112
2.5查看裏邊信息:ls
conf 配置文件目錄
html 網頁根目錄,你的index.html就放在這裏,而後經過域名訪問 pythonav.cn/index.html html/index.html
logs 日誌
sbin 存放nginx可執行命令的
3.利用nginx作網站
3.1修改/opt/nginx112/html/index.html index.html是nginx網頁根文件,清空內容寫入本身的html標籤
3.2進入:/opt/nginx112/sbin 執行./nginx #執行當前的nginx
3.3頁面訪問:https:// 192.168.86.130 (ip)

nginx主要學習
學習博客:https://www.cnblogs.com/pyyu/p/9276851.html?tdsourcetag=s_pcqq_aiomsg
1.nginx學的主要就是他的配置文件,這裏很少說,主要的說一下

2.如今咱們一個電腦搭建兩個web服務器
2.1修改本地的windows本地的測試域名 C:\Windows\System32\drivers\etc\hosts文件
192.168.13.79 www.s15rihan.com
192.168.13.79 www.s15oumei.com
2.2找到咱們的nginx配置文件,或者本身配置環境變量(echo ¥PATH)
2.3炸到配置 cd /conf
2.4查看配置:vim nginx.conf
2.5 別的先不看,找到http下的server
2.6 listen 80表示開放的端口號,server_name表示主機名,這裏寫上咱們
的域名:www.s15rihan.com,charset utf8這是編碼,
location 下面的root就是走上邊域名的時候去哪裏找的絕對路徑
,index能夠理解返回的數據
'''
server{
listen 80;
server_name www.s15oumei.com;
charset utf-8;
location /{
root /opt/myserver/oumei/;
index index.html;
}
}

'''
2.7咱們要兩個服務端,因此咱們須要寫兩個server
2.8建立root返回的絕對路徑(oumei,eihan)切換到opt目錄下建立文件夾
建立各自的index.html

2.9如今殺死進程以後啓動服務,在地址欄上輸入www.s15oumei.com能夠了


3.負載均衡
1.負載均衡說白了就是壓力平攤
2.環境:nginx1 -->負載均衡器;nginx2-->web服務;nginx3-->web服務
3.nginx2和nginx3html中區分開啓動web服務
4.nginx1修改ngnx.conf在server上--->upstream(關鍵字) s15webserver(自定義) {server 192.168.13.79(nginx2的ip) ;server 192.168.13.24(nginx3的ip) ;}

5.主機中添加反向代理,把請求發給負載均衡池
server {
listen 80;
#當個人請求來自於 192.168.13.121時,走這>個虛擬主機
server_name 192.168.13.121;#就訪問這一個主機ip

#charset koi8-r;

#access_log logs/host.access.log main; #核心配置,就在這,一條proxy_psss參數便可 location / { proxy_pass http://s15webserver; #root html; #index index.html index.htm; } } 6.啓動負載均衡nginx服務,如今就能夠測試了,默認是輪詢分發機制,固然還有weight(權重)還有ip_hash(權重哈希不能一塊兒用)

相關文章
相關標籤/搜索