一扣草、Linux上軟件安裝
1.1?Linux上的軟件安裝有以下幾種常見方式介紹:
?? ?1. 二進(jìn)制發(fā)布包:軟件已經(jīng)針對具體平臺編譯打包發(fā)布,只要解壓,修改配置即可
?? ?2. RPM包:軟件已經(jīng)按照redhat的包管理工具規(guī)范RPM進(jìn)行打包發(fā)布,需要獲取到相應(yīng)的軟件RPM發(fā)布包,然后用RPM命令進(jìn)行安裝
?? ?3. Yum在線安裝:軟件已經(jīng)以RPM規(guī)范打包反镇,但發(fā)布在了網(wǎng)絡(luò)上的一些服務(wù)器上,可用yum在線安裝服務(wù)器上的rpm軟件娘汞,并且會自動解決軟件安裝過程中的庫依賴問題
?? ?4. 源碼編譯安裝:軟件以源碼工程的形式發(fā)布歹茶,需要獲取到源碼工程后用相應(yīng)開發(fā)工具進(jìn)行編譯打包部署。
1.2?上傳與下載工具介紹:
1.2.1?FileZilla
1.2.2?1. lrzsz
我們可以使用yum安裝方式安裝:yum install lrzsz
注意:必須有網(wǎng)絡(luò)
可以在crt中設(shè)置上傳與下載目錄
上傳:rz
下載:sz?? ? 文件名
1.3?在Linux上安裝JDK:
1.3.1步驟一:上傳JDK到Linux的服務(wù)器
#上傳jdk壓縮包
# 查看jdk版本
java –version
# 查看安裝的jdk信息
rpm -qa | grep java
# 卸載jdk
rpm -e --nodeps java-1.7.0-openjdk-1.7.0.79-2.5.5.4.el6.i686
1.3.2 步驟二:在Linux服務(wù)器上安裝JDK.
* 通常將軟件安裝到/usr/local
* 直接解壓就可以
tar –xvf??jdk.tar.gz??-C 目標(biāo)路徑
1.3.3 步驟三:配置JDK的環(huán)境變量:
# vi /etc/profile
# 在末尾行添加:
????JAVA_HOME=/usr/local/jdk/jdk1.7.0_71
????CLASSPATH=.:$JAVA_HOME/lib.tools.jar
????PATH=$JAVA_HOME/bin:$PATH
????export JAVA_HOME CLASSPATH PATH
# source /etc/profile??使更改的配置立即生效
1.4?在Linux上安裝Mysql:
1.4.1:將mysql的安裝文件上傳到Linux的服務(wù)器
1.4.2:將mysql的tar解壓
1.4.3:安裝MYSQL服務(wù)端
1.4.4:安裝MYSQL客戶端
1.4.5:設(shè)置root用戶的密碼:set password=password('root');
1.4.6:開啟mysql服務(wù):service mysql start
1.4.7:開啟mysql遠(yuǎn)程訪問:
grant all privileges on *.* to 'root' @'%' identified by 'root';
flush privileges;
1.5?在Linux上安裝tomcat:
1.5.1 Tomcat上傳到linux上
1.5.2 將上傳的tomcat解壓
1.5.3 在tomcat/bin目錄下執(zhí)行 startup.sh(注意防火墻)
1.5.4 查看目標(biāo) tomcat/logs/catalina.out
1.6?在Linux上安裝redis:
1.6.1 步驟一:安裝gcc-c++
redis是C語言開發(fā),安裝redis需要先將官網(wǎng)下載的源碼進(jìn)行編譯惊豺,編譯依賴gcc環(huán)境燎孟。
輸入命令:?? ?yum install gcc-c++
1.6.2 步驟二:安裝redis
?? ?1. 下載redis
?? ??? ?wget http://download.redis.io/releases/redis-3.0.4.tar.gz
?? ?2. 解壓
?? ??? ?tar -xzvf redis-3.0.4.tar.gz
?? ?3. 編譯安裝、
?? ??? ?切換至程序目錄尸昧,并執(zhí)行make命令編譯:
?? ??? ?cd redis-3.0.4
?? ??? ?make
?? ??? ?執(zhí)行安裝命令:
?? ??? ?make PREFIX=/usr/local/redis install??
?? ??? ?make install安裝完成后揩页,會在/usr/local/bin目錄下生成下面幾個可執(zhí)行文件,
?? ??? ?它們的作用分別是:
?? ??? ??? ?redis-server:Redis服務(wù)器端啟動程序
?? ??? ??? ?redis-cli:Redis客戶端操作工具烹俗。也可以用telnet根據(jù)其純文本協(xié)議來操作
?? ??? ??? ?redis-benchmark:Redis性能測試工具
?? ??? ??? ?redis-check-aof:數(shù)據(jù)修復(fù)工具
?? ??? ??? ?redis-check-dump:檢查導(dǎo)出工具
1.6.3 步驟三:配置redis
復(fù)制配置文件到/usr/local/redis/bin目錄:
cd redis-3.0.4
cp redis.conf /usr/local/redis/bin
1.6.4 步驟四:啟動redis
進(jìn)入redis/bin目錄
cd redis/bin
啟動redis服務(wù)端
./redis-server redis.conf
克隆新窗口爆侣,啟動redis客戶端
./redis-cli
二、Nginx
2.1?Nginx 是一款高性能的 http 服務(wù)器/反向代理服務(wù)器及電子郵件(IMAP/POP3)代理服務(wù)器幢妄。
2.2?Nginx 應(yīng)用場景:
1兔仰、Nginx可以獨(dú)立提供 http 服務(wù),可以做網(wǎng)頁靜態(tài)服務(wù)器蕉鸳。
2乎赴、虛擬主機(jī):可以實(shí)現(xiàn)在一臺服務(wù)器虛擬出多個網(wǎng)站,例如個人網(wǎng)站使用的虛擬主機(jī)潮尝。
3榕吼、反向代理,負(fù)載均衡衍锚。當(dāng)網(wǎng)站的訪問量達(dá)到一定程度后友题,單臺服務(wù)器不能滿足用戶的請求時,需要用多臺服務(wù)器集群可以使用nginx做反向代理戴质。并且多臺服務(wù)器可以平均分擔(dān)負(fù)載,不會因?yàn)槟撑_服務(wù)器負(fù)載高宕機(jī)而某臺服務(wù)器閑置的情況踢匣。
2.3 Nginx在Linux下的安裝:
2.3.1?安裝 gcc 的環(huán)境:yum install gcc-c++
2.3.2?安裝第三方的開發(fā)包PCRE:
PCRE(Perl Compatible Regular Expressions)是一個Perl庫告匠,包括perl兼容的正則表達(dá)式庫。nginx的http模塊使用pcre來解析正則表達(dá)式离唬,所以需要在linux上安裝pcre庫
yum install -y pcre pcre-devel
注:pcre-devel 是使用 pcre 開發(fā)的一個二次開發(fā)庫后专。nginx 也需要此庫。
2.3.3?安裝zlib:
zlib庫提供了很多種壓縮和解壓縮的方式输莺,nginx使用zlib對http包的內(nèi)容進(jìn)行g(shù)zip戚哎,所以需要在linux上安裝 zlib 庫:
yum install -y zlib zlib-devel
2.3.4?安裝OpenSSL:
OpenSSL 是一個強(qiáng)大的安全套接字層密碼庫,囊括主要的密碼算法嫂用、常用的密鑰和證書封裝管理功能及SSL協(xié)議型凳,并提供豐富的應(yīng)用程序供測試或其它目的使用。nginx不僅支持 http協(xié)議嘱函,還支持https(即在 ssl 協(xié)議上傳輸 http)甘畅,所以需要在linux安裝openssl 庫。
yum install -y openssl openssl-devel
2.3.5?Nginx安裝:
步驟一:把nginx的源碼包nginx-1.8.0.tar.gz上傳到linux系統(tǒng)
步驟二:解壓縮:tar zxvf nginx-1.8.0.tar.gz
步驟三:進(jìn)入nginx-1.8.0目錄,使用configure命令創(chuàng)建makeFile文件疏唾。
Makefile是一種配置文件蓄氧,一個工程中的源文件不計數(shù),其按類型槐脏、功能喉童、模塊分別放在若干個目錄中,makefile定義了一系列的規(guī)則來指定顿天,哪些文件需要先編譯堂氯,哪些文件需要后編譯,哪些文件需要重新編譯露氮,甚至于進(jìn)行更復(fù)雜的功能操作祖灰,makefile就像一個Shell腳本一樣,其中也可以執(zhí)行操作系統(tǒng)的命令畔规。
configure參數(shù)詳解:
./configure \
--prefix=/usr/local/nginx \?? ??? ??指向安裝目錄? ?
--pid-path=/var/run/nginx/nginx.pid \? ? 指向pid
--lock-path=/var/lock/nginx.lock \?? ?? ? 安裝文件鎖定局扶,防止誤操作
--error-log-path=/var/log/nginx/error.log \? ? 指向log
--http-log-path=/var/log/nginx/access.log \? ? 指向http-log
--with-http_gzip_static_module \?? ?啟用在線實(shí)時壓縮輸出數(shù)據(jù)流
--http-client-body-temp-path=/var/temp/nginx/client \?? ?設(shè)定http客戶端請求臨時文件路徑
--http-proxy-temp-path=/var/temp/nginx/proxy \?? ?設(shè)定http代理臨時文件路徑
--http-fastcgi-temp-path=/var/temp/nginx/fastcgi \?? ?設(shè)定http fastcgi臨時文件路徑
--http-uwsgi-temp-path=/var/temp/nginx/uwsgi \?? ?設(shè)定http uwsgi臨時文件路徑
--http-scgi-temp-path=/var/temp/nginx/scgi??設(shè)定http scgi臨時文件路徑
步驟四:編譯?? ?make
步驟五:安裝?? ?make install
2.3.6?Nginx啟動與訪問
注意:啟動nginx 之前,上邊將臨時文件目錄指定為/var/temp/nginx/client叁扫,?
需要在/var下創(chuàng)建此目錄:
mkdir /var/temp/nginx/client -p
進(jìn)入到Nginx目錄下的sbin目錄
cd /usr/local/ngiux/sbin
輸入命令啟動Nginx
./nginx
啟動后查看進(jìn)程
ps aux|grep nginx
關(guān)閉 nginx:
./nginx -s stop
或者
./nginx -s quit
重啟 nginx:
1三妈、先關(guān)閉后啟動。
2莫绣、刷新配置文件:
./nginx -s reload
2.4?Nginx靜態(tài)網(wǎng)站部署:
2.4.1?配置虛擬主機(jī)
虛擬主機(jī)畴蒲,也叫“網(wǎng)站空間”,就是把一臺運(yùn)行在互聯(lián)網(wǎng)上的物理服務(wù)器劃分成多個“虛擬”服務(wù)器对室。虛擬主機(jī)技術(shù)極大的促進(jìn)了網(wǎng)絡(luò)技術(shù)的應(yīng)用和普及模燥。同時虛擬主機(jī)的租用服務(wù)也成了網(wǎng)絡(luò)時代的一種新型經(jīng)濟(jì)形式。
2.4.2 端口綁定:
第一步:上傳靜態(tài)網(wǎng)站:
?? ??? ?將/資料/靜態(tài)頁面/index目錄上傳至??/usr/local/nginx/index下
?? ??? ?將/資料/靜態(tài)頁面/regist目錄上傳至??/usr/local/nginx/regist下
第二步:修改Nginx 的配置文件:/usr/local/nginx/conf/nginx.conf
server {?????
????????listen???????81; # 監(jiān)聽的端口
????????server_name??localhost; # 域名或ip
????????location / {??????# 訪問路徑配置
????????????root???index;# 根目錄
????????????index??index.html index.htm; # 默認(rèn)首頁
????????}
????????error_page???500 502 503 504??/50x.html;?????# 錯誤頁面
????????location = /50x.html {
????????????root???html;
????????}
????}
?????server {
????????listen???????82; # 監(jiān)聽的端口
????????server_name??localhost; # 域名或ip
????????location / {??????# 訪問路徑配置
????????????root???regist;# 根目錄
????????????index??regist.html; # 默認(rèn)首頁
????????}
????????error_page???500 502 503 504??/50x.html;?????# 錯誤頁面
????????location = /50x.html {
????????????root???html;
????????}
????}
2.4.3 域名綁定:
域名與IP綁定:
一個域名對應(yīng)一個 ip 地址掩宜,一個 ip 地址可以被多個域名綁定蔫骂。
本地測試可以修改 hosts 文件(C:\Windows\System32\drivers\etc)
可以配置域名和 ip 的映射關(guān)系,如果 hosts 文件中配置了域名和 ip 的對應(yīng)關(guān)系牺汤,不需要走dns 服務(wù)器辽旋。
192.168.177.129?????www.hmtravel.com
192.168.177.129?????regist.hmtravel.com
做好域名指向后,修改nginx配置文件
????server {
????????listen???????80;
????????server_name??www.hmtravel.com;
????????location / {
????????????root???cart;
????????????index??cart.html;
????????}
????}
????server {
????????listen???????80;
????????server_name??regist.hmtravel.com;
????????location / {
????????????root???search;
????????????index??search.html;
????????}
????}
2.5?Nginx反向代理與負(fù)載均衡
2.5.1 什么是反向代理
反向代理(Reverse Proxy)方式是指以代理服務(wù)器來接受internet上的連接請求檐迟,然后將請求轉(zhuǎn)發(fā)給內(nèi)部網(wǎng)絡(luò)上的服務(wù)器补胚,并將從服務(wù)器上得到的結(jié)果返回給internet上請求連接的客戶端,此時代理服務(wù)器對外就表現(xiàn)為一個反向代理服務(wù)器追迟。
2.5.2?什么是負(fù)載均衡
負(fù)載均衡建立在現(xiàn)有網(wǎng)絡(luò)結(jié)構(gòu)之上溶其,它提供了一種廉價有效透明的方法擴(kuò)展網(wǎng)絡(luò)設(shè)備和服務(wù)器的帶寬、增加吞吐量怔匣、加強(qiáng)網(wǎng)絡(luò)數(shù)據(jù)處理能力握联、提高網(wǎng)絡(luò)的靈活性和可用性桦沉。
負(fù)載均衡,英文名稱為Load Balance金闽,其意思就是分?jǐn)偟蕉鄠€操作單元上進(jìn)行執(zhí)行纯露,例如Web服務(wù)器、FTP服務(wù)器代芜、企業(yè)關(guān)鍵應(yīng)用服務(wù)器和其它關(guān)鍵任務(wù)服務(wù)器等埠褪,從而共同完成工作任務(wù)。