簡單搭建centos7的web服務器

環境:虛擬機centos7+jdk8+tomcat8+mariadb(相當於mysql)
注:命令提示符裏面輸入任何密碼都不會顯示,所以不要認爲自己沒輸入,只是你沒看到而已。


安裝的工具:
在yum源安裝了:vim、tree、wget、mariadb-server、mariadb、nginx、keepalived
命令:yum -y install vim ; yum -y install tree ; yum -y install wget ;
yum -y install mariadb-server mariadb;
自備安裝包:tomcat8、jdk8(解壓再配jdk環境變量即可)


一些常用必備命令:
查看tomcat狀態: ps -ef|grep java(如果tomcat打開則有則有下圖中的顯示)
解釋:我開了兩隻貓所以有兩個端口,如果兩隻貓關閉則只有最後一條java語句
強制關閉tomcat進程:kill -9 3233和kill -9 3380
正常關閉tomcat:進入bin目錄,然後 root@localhost bin]# ./shutdown.sh
啓動tomcat:進入bin目錄,root@localhost bin]# ./shutdown.sh
強制退出:鍵盤ctrl+c
退出:q
查看系統日誌:-f /var/log/ 再按兩次tab鍵,會出現提示(系統日誌是:tail -f /var/log/messages | more;出錯記得看日誌
查看當前用戶操作歷史記錄:history
查看pid:ip a
記錄本地所以用戶的權限、路徑、密碼:cat /etc/passwd | more(按回車可往下看)
查看所有安裝的軟件:rpm -qa
僅查看python:rpm -qa |grep python
本地電腦上傳文件到虛擬機:scp 路徑 root@虛擬機ip:/存儲的目錄
(aj:scp jdk8 [email protected]:/opt)
解壓以.tar.gz的壓縮包:tar -xzvf xxx.tar.gz

查看pid: ip a
重啓網卡:systemctl restart network
查看防火牆狀態:firewall-cmd –state
關閉防火牆: systemctl stop firewalld.service
禁用防火牆: systemctl disable firewalld.service
重啓系統: reboot
提示鍵:tab,在用絕對路徑訪問某個資源時,可以按兩次tab會出現當前路徑下的目錄
yum源安裝文件:yum -y install xxx
卸載文件: yun remove xxxx* [有*纔會把相關依賴都刪除乾淨]
刪除含有子文件的目錄:rm -fv xxx/*
查看緩存文件(.swap): || -a
查看某個應用的狀態:ps -aux|grep firewalld
vim的快捷鍵:dd刪除一行,dg刪除從光標到末尾,uu撤回,yyp複製一行


第一天安裝centos7
細節:用net模式、最小安裝不用鏡像,選擇cent64(不要選cent)會出現獲取不到ip的問題,具體可以看阿里雲的最簡centos安裝方式流程,注意細節就可以。
用ip a命令查看能否獲取pid,第一個是本機ip不用管,主要是看第二個pid,獲取不到就想辦法,不然後面無法繼續
然後在window界面用git工具遠程連接(命令:ssh @虛擬機pid),方便上傳,方便開幾個窗口多次連接。每次開機都要檢查ip(ip a)和防火牆(查看狀態:firewall-cmd –state;關閉:systemctl stop firewalld.service; 禁用:systemctl disable firewalld.service)。


第二天安裝mariadb-server、mariadb
1、安裝MariaDB和mariadb-server

安裝命令

yum -y install mariadb mariadb-server

安裝完成MariaDB,首先啓動MariaDB

systemctl start mariadb

設置開機啓動

systemctl enable mariadb

接下來進行MariaDB的相關簡單配置

mysql_secure_installation

首先是設置密碼,會提示先輸入密碼

Enter current password for root (enter for none):<–初次運行直接回車

設置密碼

Set root password? [Y/n] <– 是否設置root用戶密碼,輸入y並回車或直接回車
New password: <– 設置root用戶的密碼
Re-enter new password: <– 再輸入一次你設置的密碼

其他配置

Remove anonymous users? [Y/n] <– 是否刪除匿名用戶,回車

Disallow root login remotely? [Y/n] <–是否禁止root遠程登錄,回車,(選n)

Remove test database and access to it? [Y/n] <– 是否刪除test數據庫,回車(選n)

Reload privilege tables now? [Y/n] <– 是否重新加載權限表,回車(選y)

初始化MariaDB完成,接下來測試登錄

mysql -uroot -ppassword

完成。
2配置數據庫的遠程連接(使本地電腦的圖像界面能遠程連接虛擬機的數據庫)
a. 改表法
可能是你的賬號不允許從遠程登陸,只能在localhost。這個時候只要在localhost的那臺電腦,登錄mysql後,更改“mysql”數據庫裏的’user’表的”host”項,從“localhost”改稱“%”

mysql -uroot -p
use musql
update user set host=’%’ where user=’root’;
回車可能提示錯誤,不管,再刷新權限就會成功
flush privileges;
查看結果:select host、user from user;

b. 授權法(任何服務器都能遠程連接)
在mysql1.5.6自帶的命令工具中輸入
mysql> grant all privileges on . to ‘root’@’%’ identified by ‘123456’ with grant option;
mysql> flush privileges;//刷新一下權限,不需要重啓mysql


第三天搭建基礎環境發佈項目
1.在git中用:scp 本地電腦文件絕對路徑 root@虛擬機pid:/存儲目錄
這裏寫圖片描述
把本地電腦的壓縮文件通過git遠程傳遞給虛擬機的/opt目錄
2.分別解壓兩個壓縮包到當前目錄(tar -xzvf xxx.tar.gz )
3.刪除兩個壓縮包
4.配置java-path(即jdk的環境變量)
此處粘貼鏈接https://jingyan.baidu.com/article/48a42057f1f0a4a925250464.html
http://www.360doc.com/content/17/1110/16/9824753_702691448.shtml
可用java -version檢查
5.查看tomcat是否啓動(此處是指你上傳的而不是系統自帶)
ps -ef|grep java
這裏寫圖片描述
如果只有一排跟java有關的語句,則tomcat未啓動,如果像上圖所示,則是啓動(我開了兩隻貓)
啓動貓:
這裏寫圖片描述

關閉貓:則最後一句改成:./shutdown.sh
6.如果添加第二隻貓,則需要在tomcat下的conf目錄下的server.xml中作出如下修改:(共計6處)
這裏寫圖片描述
這裏寫圖片描述
這裏寫圖片描述
7.關閉防火牆
8.打開瀏覽器輸入http://192.168.235.129:8080http://192.168.235.129:8081, 如果出現tomcat默認首頁則無誤
這裏寫圖片描述
9.自備一個javaEE項目(導出之前請修改對應的數據庫的相關數據,比如連接數據庫的密碼),如果是在myeclipse或者eclipse,就導出一個war文件,然後上傳到對應的tomcat裏面的webapps目錄下,(可先進入tomcat的webapps目錄,然後用pwd命令得到絕對路徑,不要刪除該war文件)
10.用小海豚連接虛擬機的數據庫,導入相應項目的數據庫(導入導出都請選擇以sql方式…)
11.在瀏覽器輸入http://192.168.235.129:8080/xxx, http://192.168.235.129:8081/xxx, 能夠訪問你的項目的首頁,則項目部署成功!

注:過程需要膽大心細,如果配置失誤,請反思是貓的問題,還是防火牆沒關閉,還是數據庫無法連接,還是你導入的項目的連接數據庫的配置的用戶名和密碼未修改


第四天覆制centos系統配置nginx使能訪問到tomcat

解釋:nginx反向代理,配置負載均衡(採用ip_hash),按照一個服務器多隻貓,選擇ip_hash方式配置最合適。ip_hash:根據訪問ip的hash結果分配,這樣每個訪客就固定訪問一個後端服務器,可解決seesion問題。

1.克隆之前的系統,該系統命名爲nginx,之前的系統命名爲master,以作區分。
2.看是否得到pid:ip a
nginx的pid是:192.168.235.130
master的pid是:192.168.235.129
2.安裝流程
在opt目錄下,執行:wget nginx nginx-release-centos-7-0.el7.ngx.noarch.rpm 得到一個存下載nginx地址的rpm文件,
解壓:rpm -ivh nginx-release-centos-7-0.el7.ngx.noarch.rpm
下載:yum -y install nginx
重啓:systemctl restart nginx
看進程狀態:ps aux|grep nginx
看運行狀態:systemctl status nginx
測試:在瀏覽器訪問該ipd(aj.http://192.168.235.130),會出現:
這裏寫圖片描述
3.配置nginx,攔截到master的請求,配置負載均衡,轉發將請求分配給不同的master的tomcat。
1.修改配置:vim /etc/nginx/conf.d/default.conf
這裏寫圖片描述
2.添加xxx.conf配置(我是tomcats.conf):vim /etc/nginx/conf.d/tomcats.conf
這裏寫圖片描述
單獨配置的原因: vim /etc/nginx/nginx.conf中的這句話
這裏寫圖片描述
注:自己創建的必須以:.conf結尾

2.重啓nginx: systenctl restart nginx
3.臨時關閉權限:setenforce 0
4.測試:在瀏覽器輸入http://192.168.235.130 如果出現是的是tomcat歡迎界面則無誤

注:把握細節:瀏覽器訪問不到可能的原因
1.nginx啓動否、2.配置文件沒有錯誤、3.檢查master的tomcat啓動否、4.臨時關閉權限否setenforce 0、5.瀏覽器刷新(ctrl+f5)
6.查看日誌:tail -f /var/log/nginx/error.log
tail -f /var/log/nginx/access.log


第五天配置nginx動靜分離

解釋:把靜態資源如音頻、圖片、js、css、html的請求攔截,而動態資源如jsp、php、c#這種要經過tomcat編譯一次才能運行的請求轉發給某一個貓,緩解服務器壓力。
1.將之前在master內的tomcat的webapps目錄下的發佈的項目文件複製一份到nginx1的/opt/static/的目錄下
2.添加配置:vim /etc/nginx/conf.d/default.conf
這裏寫圖片描述

解釋:proxy_set_header 強行設置靜態資源的頭文件的路徑爲和請求的路徑一致,則靜態資源由nginx提供;添加的location(採用的是正則表達式的匹配)是將靜態資源攔截,後面的$(則可使正則表達式匹配jsp不會被當成js被攔截)與括號必須有一個空格,
3.setenforce 0
4.測試:訪問瀏覽器http://192.168.235.130/xxx 得到項目的首頁,打開開發者工具,查看界面的靜態資源如某圖片的ip是http://192.168.235.130/ 則無誤


第六天下載並配置虛擬路由vip即keepalived(ip飄逸)

原理:監控兩臺nginx,給兩臺代理服務器設置虛擬ip,vip在兩個nginx之間隨機飄逸
1.安裝:yum -y install keepalived
2.修改配置:vim /etc/keepalived/keepalived.conf
這裏寫圖片描述
解釋:router_id:每一個的路由都不一樣,state:代理服務集羣中爲虛擬代理主機的用MASTER,其餘用BACKUP,interface處必須和vip一致
這裏寫圖片描述
priority:優先級(優先級高的幹活多,將虛擬代理主機優先級設爲100),virtual_ipaddress:設置虛擬代理主機的虛擬vip
3.關閉nginx1,以nginx1再次克隆一個系統命名爲nginx2,
4.修改nginx2的keepalived.conf(router_id:末尾加1以作區分;state BACKUP;priority:50)
5.保存退出,重啓keepalived、重啓nginx、setenforce0
6.重啓nginx1的keepalived、重啓nginx、setenforce0
7.檢查vip的位置,顯而易見應該在nginx1中,因爲nginx1的priority是100
8.stop掉nginx1中keepalived,查看vip是否漂移到nginx2,restart nginx2中的keepalived,查看vip是否被nginx1搶回來,此時,在瀏覽器訪問vip也能訪問得到master中的tomcat歡迎頁。


在master搭建FTP
1.安裝:yum install vsftpd
2.配置:
3.檢查:成功之後的效果,通過ftp工具(flashFXP),能夠實現上傳下載

基礎框架模型,兩臺nginx代理服務器+一臺主機master內有兩隻貓(tomcat1:8080,tomcat2:8081)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章