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(權重哈希不能一塊兒用)