【javaWeb】第54天——專案部署(nginx)
回顧:
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=.:
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下一樣
配置叢集
相關文章
- nginx部署vue專案NginxVue
- Nginx部署Vue前端專案,部署多個Vue專案NginxVue前端
- nginx+gunicorn專案部署Nginx
- 【javaWeb】第51天—— WEB實戰專案三JavaWeb
- 【javaWeb】第52天—— WEB實戰專案四JavaWeb
- uwsgi + nginx 部署python專案(一)NginxPython
- uwsgi + nginx 部署python專案(二)NginxPython
- Nginx部署H5專案NginxH5
- ror+psql+puma+nginx部署專案SQLNginx
- vue專案nginx伺服器部署VueNginx伺服器
- 用uWSGI和Nginx部署Flask專案NginxFlask
- 使用 uWSGI 和 Nginx 部署 Django 專案NginxDjango
- nginx部署vue專案方法總結NginxVue
- 如何使用 Nginx + Supervisord 部署 Hyperf 專案Nginx
- 使用nginx+uwsgi部署Django專案NginxDjango
- JavaWeb專案-----JavaScriptWebJavaScript
- CentOS 7部署Javaweb專案(一)——環境搭建CentOSJavaWeb
- 阿里雲部署Django專案(nginx+uWSGI)阿里DjangoNginx
- idea建立javaweb專案IdeaJavaWeb
- 阿里雲部署Django專案(nginx+uWSGI)-2018.11阿里DjangoNginx
- centos8-django專案部署 nginx+uwsgiCentOSDjangoNginx
- 【轉】Nginx部署多專案詳細總結Nginx
- 在騰訊雲&阿里雲上部署JavaWeb專案(Tomcat+MySQL)阿里JavaWebTomcatMySql
- nginx部署vue專案 重新整理出現404NginxVue
- Python系列之-Nginx+uWSGI+virtualenv多專案部署PythonNginx
- Nginx 同域名部署前後端分離專案Nginx後端
- idea中新建javaWeb專案IdeaJavaWeb
- django專案在uwsgi+nginx上部署遇到的坑DjangoNginx
- 在nginx上部署vue專案(history模式)--demo實列;NginxVue模式
- centos+nginx+uwsgi部署django專案上線詳解CentOSNginxDjango
- docker+nginx+redis部署前後端分離專案!!!DockerNginxRedis後端
- 【Java】手工編寫JavaWeb專案!JavaWeb
- 實踐JavaWeb課程專案JavaWeb
- 記錄--nginx(前端必會-專案部署-精簡通用篇)Nginx前端
- docker-compose + nginx部署前後端分離的專案DockerNginx後端
- vue專案部署到阿里雲伺服器(windows - Nginx代理)Vue阿里伺服器WindowsNginx
- vue專案部署到阿里雲伺服器(windows),Nginx代理!Vue阿里伺服器WindowsNginx
- 將寶塔PHP專案下載到本地部署之nginx配置PHPNginx