導航:首頁 > 軟體資訊 > 如何升級app的tomcat

如何升級app的tomcat

發布時間:2022-08-03 03:26:08

1. 如何升級TOMCAT

從http://tomcat.apache.org/index.html 中下載適應的Tomcat版本

1) 解壓至OA的tomcat同路徑下,關閉OA服務,把老的Tomcat備份;

2) 將老Tomcat/conf/server.xml文件中的Context path="/oa"..…/Context復制到新Tomcat/conf/server.xml文件同位置下,例如:
Context path="/oa" docBase="../../firstframe/webapp" debug="0" reloadable="true" crossContext="true"
!-- oracle datasource
Resource name="jdbc/DefaultDS" auth="Container" type="javax.sql.DataSource"
maxActive="100" maxIdle="20" maxWait="10000" initialSize="10" minIdle="10"
removeAbandoned="true" removeAbandonedTimeout="60" logAbandoned="true"
username="oadb" password="oapassword" driverClassName="oracle.jdbc.OracleDriver"
url="jdbc:oracle:thin:@//127.0.0.1:1521/orcl"/
--
!-- mssql datasource --
Resource name="jdbc/DefaultDS" auth="Container" type="javax.sql.DataSource"
maxActive="100" maxIdle="20" maxWait="10000" initialSize="10" minIdle="10"
removeAbandoned="true" removeAbandonedTimeout="60" logAbandoned="true"
username="oadb" password="oapassword" driverClassName="net.sourceforge.jtds.jdbc.Driver" url="jdbc:jtds:sqlserver://127.0.0.1:1433;DatabaseName=fangdichan_ff"/

/Context
3) 從老Tomcat/common/lib中復制ojdbc-14.jar和jtds-1.2.2.jar到新的Tomcat/common/lib下(如果新tomcat版本是6.0.18或以上,路徑為Tomcat/lib)

啟動OA服務

2. 公司要求把所有已經部署到伺服器上的項目的tomcat從6升級到7,軟體小白,求大神只到如何操作,非常感謝

恕俺也不懂linux下的應用管理

3. 如何在linux上安裝tomcat

1.下載JDK與Tomcat.

2.jdk安裝與配置.
(1)jdk安裝
rpm包:
# rpm -ivh jdk-7u55-linux-x64.rpm

tar.gz包:解壓縮
# mkdir /usr/java
# cd /usr/java
# tar -zxvf /software/jdk-7u55-linux-x64.tar.gz
生成鏈接以便版本升級
# ln -s jdk1.7.0_55 latest
# ln -s latest default

(2)配置環境變數
# vi /etc/profile
export JAVA_HOME=/usr/java/default
export JAVA_BIN=$JAVA_HOME/bin
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH

使配置生效
# source /etc/profile

測試jdk.
# java -version
java version "1.7.0_55"
Java(TM) SE Runtime Environment (build 1.7.0_55-b13)
Java HotSpot(TM) 64-Bit Server VM (build 24.55-b03, mixed mode)

3.Tomcat的安裝
解壓縮
# mkdir /usr/local/tomcat
# cd /usr/local/tomcat
# tar -zxvf /software/apache-tomcat-7.0.54.tar.gz
生成鏈接以便版本升級
# ln -s apache-tomcat-7.0.54 server

啟動Tomcat
# cd /usr/local/tomcat/server/bin
# ./startup.sh
Using CATALINA_BASE: /usr/local/tomcat/server
Using CATALINA_HOME: /usr/local/tomcat/server
Using CATALINA_TEMDIR: /usr/local/tomcat/server/temp
Using JRE_HOME: /usr/java/default
Using CLASS_PATH: /usr/local/tomcat/server/bin/bootstrap.jar:/usr/local/tomcat/server/bin/tomcat-juli.jar
Tomcat started.

測試Tomcat:
打開防火牆,使外部能訪問
# /sbin/iptables -I INPUT -p tcp --dport 8080 -j ACCEPT
# service iptables save
# service iptables restart
或直接修改文件/etc/sysconfig/iptables.
# vi /etc/sysconfig/iptables
-A INPUT -p tcp -m tcp --dport 8080 -j ACCEPT
# service iptables restart
在瀏覽器輸入: http://192.168.16.133:8080
如在本機可以輸入: http://localhost:8080
出現tomcat的頁面表示安裝成功.

停止Tomcat
# ./shutdown.sh

4.配置web管理帳號
修改文件conf/tomcat-users.xml,在<tomcat-users>元素中添加帳號密碼,需要指定角色.
# vi /usr/local/tomcat/server/conf/tomcat-users.xml
<tomcat-users>
<user name="admin" password="admin" roles="admin-gui,manager-gui" />
</tomcat-users>

5.配置web訪問埠
可以修改conf目錄下的文件server.xml,修改Connector元素(Tomcat的默認埠是8080),需要重新啟動Tomcat服務生效.
# vi /usr/local/tomcat/server/conf/server.xml
<Connector port="80" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />

6.配置https安全連接(ssl加密連接)
https連接需要用到數字證書與數字簽名(MD5演算法)
網站https連接首先需要申請數字證書,配置加密連接器,瀏覽器安裝證書.
·使用java的工具keytool產生數字證書
# keytool -genkey -alias tomcat -keyalg RSA
生成文件.keystore
注意:CN為主機名稱,本機可用localhost
·將文件.keystore放到Tomcat伺服器的conf目錄下
# cp .keystore /usr/local/tomcat/server/conf/
·修改conf/server.xml文件,修改加密連接器,添加keystoreFile與keystorePass
<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
maxThreads="150" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS"
keystoreFile="conf/.keystore" keystorePass="123456"/>
·重新啟動tomcat.瀏覽器輸入https://localhost:8443訪問,並安裝證書.

7.Tomcat的目錄結構
·bin //存放Tomcat的命令腳本文件
·conf //存放Tomcat伺服器的各種配置文件,最主要是server.xml
·lib //存放Tomcat伺服器支撐jar包
·logs //存放日誌文件
·temp //存放臨時文件
·webapps //web應用所在目錄,外界訪問web資源的存放目錄
·work //Tomcat的工作目錄

8.web應用的目錄結構
webapp -- web應用所在目錄
|--- html, jsp, css, js文件等 -- 這些文件一般在web應用根目錄下,根目錄下的文件外界可以直接訪問.
|--- WEB-INF 目錄 -- java類、jar包、web配置文件存在這個目錄下,外界無法直接訪問,由web伺服器負責調用.
|--- classes 目錄 -- java類
|--- lib 目錄 -- java類運行所需要的jar包
|--- web.xml 文件 -- web應用的配置文件

9.虛擬主機的配置
指定虛擬主機名,修改conf/server.xml,添加<host>元素.
<host name="hostname.domainname" appBase="/webapps">
<Context path="/webapp" docBase="/webapps/webapp"/>
</host>
例:
<host name="www.163.com" appBase="/webapps">
</host>
<host name="mail.163.com" appBase="/mailapps">
</host>
須設置DNS解析(host文件或DNS系統).

10.web應用和虛擬目錄的映射.
可以修改xml配置文件的<Context>元素來設置web應用和虛擬目錄的映射.
·conf/server.xml //在<host>元素下添加<Context path="/webdir" docBase="/webappdir"/>,需要重新啟動Tomcat服務生效,不建議使用.
·conf/context.xml //添加<Context>元素所有web應用有效.
·conf/[enginename]/[hostname]/context.xml.default //[enginename]一般是Catalina,主機[hostname]的所有web應用有效.
·conf/[enginename]/[hostname]/ //在目錄下任意建一個文件(擴展名xml),文件名即為虛擬目錄名.多級目錄使用#分割. <Context docBase="/webappdir"/>
//預設值web應用目錄可以定義為ROOT.xml,添加<Context docBase="/webappdir"/>,需重新啟動Tomcat伺服器.
·META-INF/context.xml //
可以將web應用放在webapps目錄下讓Tomcat伺服器自動映射,適用開發環境,實際運用環境中不用自動映射。
如沒有修改配置文件,web應用目錄為ROOT時則為默認web應用。

11.web應用首頁(welcome file)的配置
修改web應用的配置文件: [webapp]/WEB-INF/web.xml
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>

4. tomcat5.5 如何升級(update)成tomcat6

應該下載一個jstl包.就能用了.不需要升級到6吧.

jstl只是一個標簽庫.其實你用struts的話.他自己的標簽就夠了.

5. 如何簡單實現安卓app自動更新功能

第一步 伺服器端:

服務端提供一個借口,或者網址,我這里就用的伺服器是tomcat,這里提供一個網址如下:
//也就是一個json數據介面
public static final String UPDATE_URL = "http://192.168.1.103:8080/update.json";
我們來看下json數據參數:

{
//app名字
appname: "愛新聞1.1",
//伺服器版本號
serverVersion: "2",
//伺服器標志
serverFlag: "1",
//是否強制更新
lastForce: "1",
//apk下載地址,這里我已經下載了官方的apk,放到了伺服器裡面
updateurl: "http://192.168.1.103:8080/36Kr.apk",
//版本的更新的描述
upgradeinfo: "V1.1版本更新,你想不想要試一下哈!!!"
}

第二步 客戶端需要實現:

首先我們要去解析服務端給的json,那麼我們就要來創建一個model類了(代碼過多,這里只有欄位,getter和setter方法自己創建):

//app名字
private String appname;
//伺服器版本
private String serverVersion;
//伺服器標志
private String serverFlag;
//強制升級
private String lastForce;
//app最新版本地址
private String updateurl;
//升級信息
private String upgradeinfo;
在這里使用了一個輔助類,基本和model欄位差不多:

public class UpdateInformation {
public static String appname = MyApplication.getInstance()
.getResources().getString(R.string.app_name);
public static int localVersion = 1;// 本地版本
public static String versionName = ""; // 本地版本名
public static int serverVersion = 1;// 伺服器版本
public static int serverFlag = 0;// 伺服器標志
public static int lastForce = 0;// 之前強制升級版本
public static String updateurl = "";// 升級包獲取地址
public static String upgradeinfo = "";// 升級信息

public static String downloadDir = "wuyinlei";// 下載目錄
}
在進入app的時候,這個時候如果檢測到伺服器端有了新的版本,就回彈出提示框,提示我們更新。這個我們在MainActivity裡面處理邏輯(onCreate()方法裡面):

OkhttpManager.getAsync(Config.UPDATE_URL, new OkhttpManager.DataCallBack() {
@Override
public void requestFailure(Request request, Exception e) {

}
@Override
public void requestSuccess(String result) {
try {
Log.d("wuyiunlei",result);
JSONObject object = new JSONObject(result);
UpdateInfoModel model = new UpdateInfoModel();
model.setAppname(object.getString("appname"));
model.setLastForce(object.getString("lastForce"));
model.setServerFlag(object.getString("serverFlag"));
model.setServerVersion(object.getString("serverVersion"));
model.setUpdateurl(object.getString("updateurl"));
model.setUpgradeinfo(object.getString("upgradeinfo"));
tmpMap.put(DeliverConsts.KEY_APP_UPDATE, model);
} catch (JSONException e) {
e.printStackTrace();
}
//發送廣播
sendBroadcast(new Intent(UpdateReceiver.UPDATE_ACTION));
}
});
當然了,我們也要注冊和結束廣播:

/**
* 廣播注冊
*/
private void registerBroadcast() {
mUpdateReceiver = new UpdateReceiver(false);
mIntentFilter = new IntentFilter(UpdateReceiver.UPDATE_ACTION);
this.registerReceiver(mUpdateReceiver, mIntentFilter);
}
/**
* 廣播卸載
*/
private void unRegisterBroadcast() {
try {
this.unregisterReceiver(mUpdateReceiver);
} catch (Exception e) {
e.printStackTrace();
}
}
接下來我們看下我們自定義的廣播接收者UpdateReceiver .java:
public class UpdateReceiver extends BroadcastReceiver {
private AlertDialog.Builder mDialog;
public static final String UPDATE_ACTION = "wuyinlei_aixinwen";
private SharedPreferencesHelper mSharedPreferencesHelper;
private boolean isShowDialog;

public UpdateReceiver() {
}

public UpdateReceiver(boolean isShowDialog) {
super();
this.isShowDialog = isShowDialog;
}

@Override
public void onReceive(Context context, Intent intent) {
mSharedPreferencesHelper = mSharedPreferencesHelper
.getInstance(MyApplication.getInstance());
//當然了,這里也可以直接new處hashmap
HashMap tempMap = MyApplication.getInstance()
.getTempMap();
UpdateInfoModel model = (UpdateInfoModel) tempMap
//就是一個標志
.get(DeliverConsts.KEY_APP_UPDATE);
try {

/**
* 獲取到當前的本地版本
*/
UpdateInformation.localVersion = MyApplication
.getInstance()
//包管理獨享
.getPackageManager()
//包信息
.getPackageInfo(
MyApplication.getInstance()
.getPackageName(), 0).versionCode;
/**
* 獲取到當前的版本名字
*/
UpdateInformation.versionName = MyApplication
.getInstance()
.getPackageManager()
.getPackageInfo(
MyApplication.getInstance()
.getPackageName(), 0).versionName;
} catch (Exception e) {
e.printStackTrace();
}
//app名字
UpdateInformation.appname = MyApplication.getInstance()
.getResources().getString(R.string.app_name);
//伺服器版本
UpdateInformation.serverVersion = Integer.parseInt(model
.getServerVersion());
//伺服器標志
UpdateInformation.serverFlag = Integer.parseInt(model.getServerFlag());
//強制升級
UpdateInformation.lastForce = Integer.parseInt(model.getLastForce());
//升級地址
UpdateInformation.updateurl = model.getUpdateurl();
//升級信息
UpdateInformation.upgradeinfo = model.getUpgradeinfo();

//檢查版本
checkVersion(context);

}

/**
* 檢查版本更新
*
* @param context
*/
public void checkVersion(Context context) {
if (UpdateInformation.localVersion < UpdateInformation.serverVersion) {
// 需要進行更新
mSharedPreferencesHelper.putIntValue(
//有新版本
SharedPreferencesTag.IS_HAVE_NEW_VERSION, 1);
//更新
update(context);
} else {
mSharedPreferencesHelper.putIntValue(
SharedPreferencesTag.IS_HAVE_NEW_VERSION, 0);
if (isShowDialog) {
//沒有最新版本,不用升級
noNewVersion(context);
}
clearUpateFile(context);
}
}

/**
* 進行升級
*
* @param context
*/
private void update(Context context) {
if (UpdateInformation.serverFlag == 1) {
// 官方推薦升級
if (UpdateInformation.localVersion < UpdateInformation.lastForce) {
//強制升級
forceUpdate(context);
} else {
//正常升級
normalUpdate(context);
}

} else if (UpdateInformation.serverFlag == 2) {
// 官方強制升級
forceUpdate(context);
}
}

/**
* 沒有新版本
* @param context
*/
private void noNewVersion(final Context context) {
mDialog = new AlertDialog.Builder(context);
mDialog.setTitle("版本更新");
mDialog.setMessage("當前為最新版本");
mDialog.setNegativeButton("確定", new DialogInterface.OnClickListener() {

@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
}
}).create().show();
}

/**
* 強制升級 ,如果不點擊確定升級,直接退出應用
*
* @param context
*/
private void forceUpdate(final Context context) {
mDialog = new AlertDialog.Builder(context);
mDialog.setTitle("版本更新");
mDialog.setMessage(UpdateInformation.upgradeinfo);

mDialog.setPositiveButton("確定", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Intent mIntent = new Intent(context, UpdateService.class);
mIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
mIntent.putExtra("appname", UpdateInformation.appname);
mIntent.putExtra("appurl", UpdateInformation.updateurl);
//啟動服務
context.startService(mIntent);
}
}).setNegativeButton("退出", new DialogInterface.OnClickListener() {

@Override
public void onClick(DialogInterface dialog, int which) {
// 直接退出應用
//ManagerActivity.getInstance().finishActivity();
System.exit(0);
}
}).setCancelable(false).create().show();
}

/**
* 正常升級,用戶可以選擇是否取消升級
*
* @param context
*/
private void normalUpdate(final Context context) {
mDialog = new AlertDialog.Builder(context);
mDialog.setTitle("版本更新");
mDialog.setMessage(UpdateInformation.upgradeinfo);
mDialog.setPositiveButton("確定", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Intent mIntent = new Intent(context, UpdateService.class);
mIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
//傳遞數據
mIntent.putExtra("appname", UpdateInformation.appname);
mIntent.putExtra("appurl", UpdateInformation.updateurl);
context.startService(mIntent);
}
}).setNegativeButton("取消", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
}
}).create().show();
}

/**
* 清理升級文件
*
* @param context
*/
private void clearUpateFile(final Context context) {
File updateDir;
File updateFile;
if (Environment.MEDIA_MOUNTED.equals(Environment
.getExternalStorageState())) {
updateDir = new File(Environment.getExternalStorageDirectory(),
UpdateInformation.downloadDir);
} else {
updateDir = context.getFilesDir();
}
updateFile = new File(updateDir.getPath(), context.getResources()
.getString(R.string.app_name) + ".apk");
if (updateFile.exists()) {
Log.d("update", "升級包存在,刪除升級包");
updateFile.delete();
} else {
Log.d("update", "升級包不存在,不用刪除升級包");
}
}
}

6. 如何將 伺服器中的 tomcat 升級

我們那的tomcat 直接 把你用的tomcat包比如 tomcat-6.0.23放到伺服器上 解壓,就可以了啊。不知道和你們那有啥區別,知道的可以詳細說一下。

7. 如何升級 Apache Tomcat

最新版本是9.0
下載地址:
http://mirrors.tuna.tsinghua.e.cn/apache/tomcat/tomcat-9/v9.0.0.M10/bin/apache-tomcat-9.0.0.M10.zip

閱讀全文

與如何升級app的tomcat相關的資料

熱點內容
台州程序員兼職一般去哪些網站 瀏覽:386
舊版本怎麼下載到新的安卓 瀏覽:964
flash個人網站源碼下載 瀏覽:723
javasocketbyte 瀏覽:262
素描基礎教程pdf 瀏覽:541
香港商報pdf版 瀏覽:426
安卓手機怎麼錄制吉他彈奏 瀏覽:382
ie文件夾緩存在哪裡 瀏覽:264
圍棋排名演算法 瀏覽:963
zigbee加密演算法 瀏覽:464
柏楊版資治通鑒pdf 瀏覽:395
事業編程序員下班時間 瀏覽:10
linux中命令大全 瀏覽:38
pic單片機學習網站 瀏覽:163
843除6的演算法 瀏覽:377
arduino編程視頻 瀏覽:744
pdf背景綠色 瀏覽:612
記事本dos命令 瀏覽:275
伺服器如何搭建多個節點 瀏覽:327
acx演算法 瀏覽:258