1. 程式人生 > >linux基礎與安裝nginx

linux基礎與安裝nginx

git
版本控制工具
github
虛擬軟體!=虛擬機器

目錄結構
在Linux下沒有碟符的,/代表的就是根目錄.
/root root使用者的home目錄.
/home 其他使用者的home目錄,會在/home中建立和使用者名稱相同的目錄作為使用者的home目錄.
/etc 系統的配置檔案所在目錄
/usr 存放使用者共享的一些資源
命令
檢視命令的引數(文件)
man 命令
命令 --help
進入到一些阻塞的介面中,退出的方式有以下幾種情況
按q退出
按ctrl+c退出
按esc鍵退出
cd 切換目錄
相對路徑
./ 當前目錄,可以省略
../ 上一級目錄
絕對路徑
/ 以/開始,在任意目錄下訪問根目錄
快捷方式
cd ~ 到當前使用者的home目錄
cd - 到跳轉到當前目錄之前的目錄
ls ll 列出當前目錄的檔案列表
以.開頭的檔案是隱藏檔案,只有使用-a引數才能看到
mkdir -p 建立目錄,並把需要建立的父目錄一併建立.
cat tail 檢視檔案內容
cat 檢視檔案全部內容
tail -f 動態檢視檔案內容
rm 刪除檔案或目錄
rm -rf 目錄或檔案
rm -rf * 刪除當前目錄下的所有檔案
rm -rf /* 刪除根目錄下的所有檔案
注:很多公司會把rm指定移除掉,用mv指定替代
cp mv 複製和剪下
把某個指定檔案複製或移動到指定位置,可以在複製或移動時指定新的名稱
tar 打包,解包,打壓縮包的命令
打包:
tar –cvf xxx.tar ./*
打包並且壓縮:
tar –zcvf xxx.tar.gz ./*

解壓
tar –xvf xxx.tar
tar -xvf xxx.tar.gz -C /usr/aaa 指定目錄解壓
vim vi 文字編輯器
命令列模式
不能編輯文字,可以接收命令
a,i,o進入插入模式
按:進入底行模式
插入模式
可以編輯文字,按esc進入命令列模式
底行模式
wq:儲存退出
q:退出
q!:強制退出,丟失所有修改
grep 查詢命令
一般和管道配合使用
linux上的網絡卡操作
ifup eth0 開啟
ifdown eth0 關閉

讓網絡卡啟動時獲取ip,修改 /etc/sysconfig/network-scripts/ifcfg-eth0 檔案中的onboot=yes

netstat -an | grep 埠號
查詢某個指定端口占用的程式是誰
ping 給某個指定的url或ip傳送資料包,測試網路是否通暢

系統管理命令
檢視某個程序的資訊
ps -ef | grep 程序名
獲取pid
殺死某個程序
kill -9 pid 強制殺死某個程序
組管理
1.一個使用者一定有歸屬的組嗎?
一定有,如果指定了歸屬的組,屬於指定組.
如果沒有指定歸屬的組,預設會自動建立一個和使用者名稱相同的組,組內加入此使用者.
2.使用者的組許可權和使用者的許可權關係

檔案預設情況下由哪個使用者建立,就屬於哪個使用者.
許可權前3位代表屬主的操作許可權.
中間3位代表屬主所在的組的其他成員的操作許可權.
後3位代表其他使用者的操作許可權

root使用者可以繞過所有的許可權限制.

JDK安裝
1.檢視是否已經有自帶jdk存在,如果存在,先解除安裝掉.
rpm -qa 查詢軟體包的名字
rpm -e --nodeps 軟體包的全名
2.建立目錄,一般在usr下建立
3.上傳jdk的安裝包(壓縮包)
4.解壓jdk,配置環境
tar -xvf xxx.tar.gz -C /usr/local/java
環境變數在/etc/profile檔案中配置
重新載入配置檔案
source /etc/profile
5.安裝jdk執行所需要的依賴.
MySQL安裝
首先解除安裝MySQL,在解除安裝之前,先把mysql的程序停掉.
ps -ef | grep mysql 找到mysql程序pid
kill -9 mysql的程序id(一般有兩個)
注意:
埠不要忘記放開.
Tomcat安裝
解壓即安裝
使用startup.sh的shell指令碼執行
./startup.sh
注意:
埠不要忘記放開.
釋出專案
1.把專案打成war包
2.把war包放到tomcat/webapps下,就可以把專案釋出出去了.
叢集的搭建
Nginx
代理
[正向]代理,代理的是客戶端.可以通過代理伺服器訪問原本訪問不到的資源.
反向代理
反向代理,代理的是伺服器.從不同的伺服器上獲取資源統一作為一個入口,提供給使用者使用.
負載均衡(叢集\分散式伺服器)
通過對請求的合理分配,達到讓伺服器的執行壓力大體一致的效果.
配置中
upstream中
server 後面新增weight引數作為權重設定.
問題:
不同伺服器中session的共享問題.
1.繫結ip,讓同一個ip只訪問同一個伺服器.
在upstream中新增ip_hash即可
2.使用tomcat的廣播機制.(一般不會使用)
缺點:叢集越大,資料傳輸效率越低.
3.使用redis資料庫(後期講解)
在Linux系統下,tomcat的廣播機制是不可用的.
yum install -y perl-Module-Install.noarch