【javaWeb】第54天——專案部署(nginx)

就叫一片白紙發表於2018-09-08

回顧:
linux:
作業系統,應用伺服器上
常用命令:
cd 切換命令
cd /
cd ~
cd ../../
cd xx
ll 展示所有的檔案
ll -h 友好的展示
mkdir 建立目錄
mkdir 目錄名
mkdir -p a/b/b/b
rmdir 移除目錄
rmdir 目錄名 :移除空目錄

    touch 檔名:建立一個空檔案
    cp 檔名 目錄/檔名:複製
    mv 檔名 目錄/檔名:移動
    mv 檔名 新檔名:重新命名

    rm 檔名:帶詢問的刪除檔案
    rm -f 檔名:不帶詢問的刪除檔案
    rm -rf 目錄|檔案:不帶詢問的遞迴檔案

    tar: 打包|解壓一個目錄或者檔案
        tar -cvf 檔名 目錄:將指定的目錄打包成一個指定的檔案
        tar -zcvf 檔名 目錄:將指定的目錄打包並且壓縮成一個指定的檔案

        tar -xvf 檔名 :將指定的檔案解壓到當前目錄
        tar -xvf 檔名 -C 目錄:將指定的檔案解壓到指定的目錄

    grep 查詢
    |    管道

    ps -ef | grep java
    netstate -an | grep 3306

    kill -9 pid :強制結束一個程式

    ifconfig:檢視當前網路卡資訊
    ping:檢視網路是否通暢

    chmod 777 檔名
    chown 更改檔案的歸屬者

/////////////////////////////////////////////
任務1:在linux釋出網上商城案例
1.安裝jdk
a.檢測是否安裝了jdk 執行java -version
b.若有需要將其解除安裝
c.檢視安裝那些jdk
rpm -qa | grep java
d.解除安裝
先解除安裝 openjdk 1.7
rpm -e –nodeps 解除安裝的包
rpm -e –nodeps java-1.7.0-openjdk-1.7.0.45-2.4.3.3.el6.i686
再解除安裝 openjdk 1.6
rpm -e –nodeps java-1.6.0-openjdk-1.6.0.0-1.66.1.13.0.el6.i686
e.安裝jdk
上傳jdk 通過ftp軟體上傳(上傳到root目錄下)
在 /usr/local建立一個 java目錄
mkdir java
將上傳的jdk複製到 java目錄下
cp /root/jdk.xxxxx.tar /usr/local/java
將其解壓
tar -xvf jdk.xxx.tar
f.安裝依賴
yum install glibc.i686
g.配置環境變數
編輯 vi /etc/profile
在檔案最後新增一下資訊
#set java environment
JAVA_HOME=/usr/local/java/jdk1.7.0_72
CLASSPATH=.:JAVAHOME/lib.tools.jarPATH=

JAVA_HOME/lib.tools.jar PATH=
JAVA_HOME/bin:$PATH
export JAVA_HOME CLASSPATH PATH
儲存退出
source /etc/profile 使更改的配置立即生效
2.安裝mysql
a.檢測是否安裝了mysql
rpm -qa | grep mysql
b.解除安裝系統自帶的mysql
rpm -e –nodeps 解除安裝的包
rpm -e –nodeps mysql-libs-5.1.71-1.el6.i686
c.上傳mysql
d.在 /usr/local/ 建立一個mysql
e.複製mysql 到 mysql目錄下
f.解壓 tar
會有幾個rpm檔案
g.安裝
安裝mysql的伺服器端
rpm -ivh MySQL-server-5.5.49-1.linux2.6.i386.rpm
注意:第一次登入mysql的時候沒有不需要密碼的 以後都需要
安裝mysql的客戶端
rpm -ivh MySQL-client-5.5.49-1.linux2.6.i386.rpm
h.檢視mysql的服務狀態
service mysql status
啟動 mysql
service mysql start
停止mysql
service mysql stop

i.修改mysql的root的密碼
    登入:mysql -uroot
    修改密碼:
        use mysql;
        update user set password = password('1234') where user = 'root';
        flush privileges;# 重新整理
j.開啟遠端訪問
    grant all privileges on *.* to 'root' @'%' identified by '1234';
    flush privileges;
k.開啟防火牆埠 3306 退出mysql
    3306埠放行 
    /sbin/iptables -I INPUT -p tcp --dport 3306 -j ACCEPT
    將該設定新增到防火牆的規則中
    /etc/rc.d/init.d/iptables save
l:設定mysql的服務隨著系統的啟動而啟動
    加入到系統服務:
    chkconfig --add mysql
    自動啟動:
    chkconfig mysql on

3.安裝tomcat
a.在/usr/local/ 建立tomcat目錄
b.複製tomcat 到 /usr/local/tomcat
c.解壓tomcat
d.啟動tomcat 進入 bin
方式1:
sh startup.sh
方式2:
./startup.sh
e.開啟埠號 8080
8080埠放行
/sbin/iptables -I INPUT -p tcp –dport 8080 -j ACCEPT
將該設定新增到防火牆的規則中
/etc/rc.d/init.d/iptables save

注意:
    檢視日誌檔案
        tail -f logs/catalina.out
    退出 ctrl+c

4.釋出專案
a.資料庫和表
備份store28的資料庫
在windows下
mysqldump -uroot -p1234 store28 > g:/1.sql
將1.sql上傳 root目錄
通過遠端工具還原資料庫
先登入mysql
建立資料庫 store28
進入store28
source /root/1.sql

b.專案
    將專案打包 war
    war包的特點:
        在tomcat/webapps目錄下 只要tomcat啟動 war會自動解壓
    將store.war上傳到虛擬機器的root目錄下
    將store.war移動到tomcat/webapps下即可

///////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////
nginx:
Nginx是一款輕量級的Web 伺服器/反向代理伺服器及電子郵件(IMAP/POP3)代理伺服器
特點:
反向代理 負載均衡 動靜分離…
反向代理 :
先來了解正向代理:需要我們使用者,手動的設定代理伺服器的ip和埠號
反向代理:代理伺服器的,使用者不需要設定.

負載均衡:
    原理就是資料流量分攤到多個伺服器上執行,減輕每臺伺服器的壓力,
    多臺伺服器共同完成工作任務,從而提高了資料的吞吐量。
動靜分離:
    將靜態的資源放到反向伺服器,節省使用者的訪問時間.

///////////////////////////////////////////////////////////
用nginx在window上搭建一個叢集
1.在g盤新建兩個目錄 tomcat1 tomcat2
2.修改tomcat2的埠 在tomcat1的埠上+10
3.解壓nginx
修改nginx的 nginx.conf檔案
在locatioin / 下新增了反向代理
proxy_pass 代理伺服器
這是隻是代理一臺伺服器
4.代理叢集
需要在http節點上新增一個
upstream servlet_yujia{
server 127.0.0.1:8080;
server 127.0.0.1:8090;
}
修改location /下的反向代理
proxy_pass http://servlet_yujia
5.session共享問題
解決方式1:只能在window下好使
web伺服器解決(廣播機制)
注意:tomcat下效能低
修改兩個地方:
1.修改tomcat的server.xml 支援共享
將 引擎標籤下的

註釋去掉
2.修改專案的配置檔案 web.xml中新增一個節點

    解決方式2:
        可以將session的id放入redis中
    解決方式3:
        保證一個ip地址永遠的訪問一臺web伺服器,就不存在session共享問題了,在linux
        在nginx的配置檔案中
            upstream中新增 ip_hash;

////////////////////////////////////////////
在linux搭建叢集
1.先將 nginx上傳到linux上
2.解壓nginx
3.先編譯nginx
安裝依賴包
yum install gcc-c++
yum install -y pcre pcre-devel
yum install -y zlib zlib-devel
yum install -y openssl openssl-devel
執行編譯
先進入 nginx的目錄
執行
./configure

4.安裝nginx
    執行 
        make
        make install
5.啟動nginx
    cd nginx目錄下
        配置檔案 conf
        啟動nginx 
            ./nginx 
6.將埠號80 放行
    /sbin/iptables -I INPUT -p tcp --dport 80 -j ACCEPT
    將該設定新增到防火牆的規則中
    /etc/rc.d/init.d/iptables save
7.修改conf檔案 和window下一樣
    配置叢集

相關文章