搭建java編譯環境
一、java編譯環境
1.準備工作:
下載 jdk-7u79-linux-x64.tar.gz 壓縮包
解壓 tar zxf jdk-7u79-linux-x64.tar.gz -C /usr/local/
在/usr/local/ 下 ln -s jdk1.7.0_79/ java (方便更新軟件,更新後只要重新軟鏈接就好)
2.修改環境變量
vim /etc/profile
source /etc/profile (刷新文件)
echo $PATH 查看環境變量
[root@server6 java]# echo $JAVA_HOME
/usr/local/java
[root@server6 java]# echo $CLASSPATH
.:/usr/local/java/lib:/usr/local/java/jre/lib
[root@server6 java]# echo $PATH
/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin:/usr/local/java/bin
3.測試
寫一個java程序:
vim test.java
javac test.java (編譯生成.class 文件)
java test
[root@server6 ~]# javac test.java
[root@server6 ~]# ls
anaconda-ks.cfg jdk-7u79-linux-x64.tar.gz
apache-tomcat-7.0.37.tar.gz test.class
install.log test.java
install.log.syslog
[root@server6 ~]# java test
Hello world!
二、jsp的安裝支持
1.準備工作
下載 jdk-7u79-linux-x64.tar.gz
解壓 tar zxf jdk-7u79-linux-x64.tar.gz -C /usr/local/
在/usr/local/ 下 ln -s apache-tomcat-7.0.37/ tomcat (軟鏈接到 tomcat)
2.使用
默認發佈目錄:/usr/local/tomcat/webapps/ROOT
開啓jsp:在/usr/local/tomcat/bin 下 執行 ./startup.sh
查看jsp的監聽端口:netstat -antlp 是8080端口。
3.測試
Firefox中訪問172.25.15.1:8080 可以訪問到tomcat 默認發佈頁面
自己編寫 tomcat發佈頁面:
在/usr/local/tomcat/webapps/ROOT 下編寫文件 test.jsp
Firefox中訪問172.25.38.6:8080/test.jsp 即可
4.配置nginx 分別處理php jsp動態頁面
訪問 172.25.15.1/test.jsp 即可訪問 jsp頁面
vim /usr/local/lnmp/nginx/conf/nginx.conf
訪問.jsp文件請求是 交給tomcat去處理
5.部署tomcat集羣
在另一臺虛擬機上配置java jsp 與第一臺相同
可以直接cp 第一臺/usr/local/ java tomcat 到第二臺的相同位置
第二臺虛擬機的環境變量也要改變,打開tomcat。
環境說明:server1:nginx tomcat
:server2:tomcat (兩臺主機tomcat做負載均衡)
修改nginx的配置文件:/usr/local/lnmp/nginx/conf/nginx.conf
解釋:當訪問.jsp 時 訪問負載均衡組 yang指向upstream yang;
jsp jsp
M1 M2
Nginx 通過jsp訪問兩個處理服務器 同時將數據交叉備份到m1 m2.(數據不會丟失)
如果沒有後端memcached 當T1掛掉 切換到T2 之前在T1的數據就會丟失
在兩臺虛擬機上安裝 memcached /etc/init.d/memcached start
free -m 查看內存信息
面試問 當前可用的內存空間 要看應用的使用機制,cache加buffers加free是可用內存,cached 會涉及應用佔用,如果是分享機制,則可加上cache 如果是應用獨佔,不可加。
查看memcached yum install telnet -y
Telnet localhost 11211 (memcached 默認開啓11211端口)
stats
add name 0 0 6 (0標示位 0超時時間 6名字的字節數)
get name
delete name
在/usr/local/tomcat/webapps/ROOT 下編寫文件 test.jsp
(兩個虛擬機都配置)
<%@ page contentType="text/html; charset=GBK" %>
<%@ page import="java.util.*" %>
<html><head><title>Cluster App Test</title></head>
<body>
Server Info:
<%
out.println(request.getLocalAddr() + " : " + request.getLocalPort()+"<br>");%>
<%
out.println("<br> ID " + session.getId()+"<br>");
String dataName = request.getParameter("dataName");
if (dataName != null && dataName.length() > 0) {
String dataValue = request.getParameter("dataValue");
session.setAttribute(dataName, dataValue);
}
out.print("<b>Session list</b>");
Enumeration e = session.getAttributeNames();
while (e.hasMoreElements()) {
String name = (String)e.nextElement();
String value = session.getAttribute(name).toString();
out.println( name + " = " + value+"<br>");
System.out.println( name + " = " + value);
}
%>
<form action="test.jsp" method="POST">
name:<input type=text size=20 name="dataName">
<br>
key:<input type=text size=20 name="dataValue">
<br>
<input type=submit>
</form>
</body>
</html>
6.sticky模式的nginx負載
Ip_hash 會涉及cdn的問題,因爲多個客戶端都訪問同一個cdn但是nginx接收的是同一個cdn的ip,所以此時的ip_hash 不合理
所以使用sticky
準備工作:
下載 nginx-goodies-nginx-sticky-module-ng-c78b7dd79d0d.tar.gz
解壓到/root/
用源碼重新安裝nginx 需要關掉nginx ./configure 時添加
Make & make install
修改負載均衡的算法爲sticky。開啓nginx
把兩臺虛擬機的tomcat 關掉。
兩臺虛擬機:把提前下載好的jar包 複製到tomcat/lib
刪除掉 memcached-session-manager-tc6-1.5.1.jar (如果你用的是7)
修改 tomcat/conf/context.xml(172.25.15.5)
在最後加上
<Manager className="de.javakaffee.web.msm.MemcachedBackupSessionManager"
memcachedNodes="n1:172.25.38.5:11211,n2:172.38.6.2:11211"
failoverNodes="n1"
requestUriIgnorePattern=".*\.(ico|png|gif|jpg|css|js)$"
transcoderFactoryClass="de.javakaffee.web.msm.serializer.kryo.KryoTranscoderFactory"
/>
修改 tomcat/conf/context.xml(172.25.15.6)
在最後加上
<Manager className="de.javakaffee.web.msm.MemcachedBackupSessionManager"
memcachedNodes="n1:172.25.38.5:11211,n2:172.25.38.6:11211"
failoverNodes="n2"
requestUriIgnorePattern=".*\.(ico|png|gif|jpg|css|js)$"
transcoderFactoryClass="de.javakaffee.web.msm.serializer.kryo.KryoTranscoderFactory"
/>
兩邊開啓 tomcat
tail -f tomcat/logs/catalina.out
有這句話 就是對的。
測試:firefox訪問172.25.38.6 輸入數據,關掉正在運行的