ubuntu11.10 安装tpc_w
來(lái)自:http://www.cppblog.com/LIULIANG/archive/2012/09/23/191710.aspx
首先簡(jiǎn)介一下在安裝tpc_w時(shí)我們需要安裝的軟件
?jdk,tomcat,ant,jdbc,servlet,mysql,tpc_w
下面是具體的安裝步驟
?一、安裝jdk
?下載jdk-7u5-linux-i586.tar.gz
?下載地址:http://download.oracle.com/otn-pub/java/jdk/7/jdk-7-linux-i586.tar.gz
?安裝jdk
?解壓剛才下載的jdk-7u5-linux-i586.tar.gz
?然后在配置環(huán)境變量,命令如下:
?sudo gedit /etc/profile
? 在文件后面添加如下環(huán)境變量:
?export JAVA_HOME=/jdk/jdk1.7.0
?export JRE_HOME=${JAVA_HOME}/jre
?export CATALINA_HOME=/tomcat/tomcat-7.0.30
?export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib:$CLASSPATH
?export PATH=${JAVA_HOME}/bin:$PATH
保存,關(guān)閉profile文件,然后時(shí)當(dāng)前配置生效,使用命令如下:
?source /etc/profile?
?然后再使用命令查看是否安裝成功,命令如下:
?? java -version
?會(huì)打印如下信息:
?java version "1.7.0_05"
?Java(TM) SE Runtime Environment (build 1.7.0_05-b05)
?Java HotSpot(TM) Client VM (build 23.1-b03, mixed mode)
說(shuō)明已經(jīng)安裝成功了。
二、安裝tomcat
? 首先下載apache-tomcat-7.0.30.tar.gz
? 然后解壓上面的文件,
?配置環(huán)境變量
$ cd programs/tomcat7/bin????????? #進(jìn)入tomcat安裝目錄下的bin目錄
$ sudo gedit ./catalina.sh??????? #在打開(kāi)的文本編輯器中加入
編輯catalina.sh文件,在
cygwin=false
darwin=false
os400=false
前面加入一下語(yǔ)句
JAVA_HOME=/home/newbie/jdk7????? #/home/newbie/jdk7 為jdk的安裝路徑
JAVA_OPTS="-server -Xms512m -Xmx1024m -XX:PermSize=600M -XX:MaxPermSize=600m -Dcom.sun.management.jmxremote"?????? #這句也可以沒(méi)有
保存退出
在tomcat7/bin目錄下
$ sudo ./startup.sh 若顯示
Using CATALINA_BASE:?? /tpc_w_all/tomcat7.0.30/apache-tomcat-7.0.30
Using CATALINA_HOME:?? /tpc_w_all/tomcat7.0.30/apache-tomcat-7.0.30
Using CATALINA_TMPDIR: /tpc_w_all/tomcat7.0.30/apache-tomcat-7.0.30/temp
Using JRE_HOME:??????? /tpc_w_all/jdk1.7/jdk1.7.0_05
Using CLASSPATH:?????? /tpc_w_all/tomcat7.0.30/apache-tomcat-7.0.30/bin/bootstrap.jar:/tpc_w_all/tomcat7.0.30/apache-tomcat-7.0.30/bin/tomcat-juli.jar
瀏覽器 輸入 http://localhost:8080/ 可見(jiàn)缺省頁(yè)面。配置成功。
三、 ant安裝
? 1. 運(yùn)行:
??? sudo apt-get install ant
?2. 查看成夠安裝否
root@ub-virtual-machine:~# ant -version???????????? #查看ant版本
Apache Ant(TM) version 1.8.2 compiled on August 19 2011?
root@ub-virtual-machine:~# ant?????????????? #使用ant
Buildfile: build.xml does not exist!
Build failed
若出現(xiàn)以上信息信息,則代表成夠安裝。
四、jdbc和server安裝
? 首先我們要下載mysql-connector-java-5.1.22.tar.gz
? 然后解壓給文件,然后在解壓目錄下找到mysql-connector-java-5.1.22-bin.jar
? servlet-api.jar在我們安裝tomcat的路徑下lib目錄下即可找到
? 然后將該這兩個(gè)jar包添加到我們的環(huán)境變量中,這里我們同樣使用
? sudo gedit /etc/profile
? 在profile文件中的CLASSPATH環(huán)境變量中添加mysql-connector-java-5.1.22-bin.jar所在路徑信息,在我本機(jī)中為:
export CLASSPATH=.:${CATALINA_HOME}/lib/servlet-api.jar:${CATALINA_HOME}/webapps/tpcw/WEB-INF/lib/mysql-connector-java-5.1.22-bin.jar:${JAVA_HOME}/lib:${JRE_HOME}/lib:$CLASSPATH
五、mysql的安裝
下載地址:
http://dev.mysql.com/downloads/mysql/
1、添加用戶(hù)組
#> groupadd mysql
2、添加用戶(hù)
#> useradd -r -g mysql mysql
3、切換目錄
#> cd /usr/local
4、解壓(mysql-5.5.22-linux2.6-i686.tar.gz已經(jīng)復(fù)制到/usr/local下)
#> tar zxvf mysql-5.5.22-linux2.6-i686.tar.gz
5、創(chuàng)建軟鏈接
#> ln -s mysql-5.5.22-linux2.6-i686 mysql
6、刪除壓縮包(可操作)
#> rm mysql-5.5.22-linux2.6-i686.tar.gz
7、進(jìn)入mysql目錄
#> cd mysql
8、改變用戶(hù)權(quán)限和組權(quán)限
#> chown -R mysql .
#> chgrp -R mysql .
9、初始化數(shù)據(jù)庫(kù)
<1> 保證在/etc/目錄下面沒(méi)有my.cnf、mysql文件夾,如果有請(qǐng)刪除
<2> 安裝libaio1.so 執(zhí)行sudo apt-get install libaio1 安裝了則跳過(guò)
#> scripts/mysql_install_db --user=mysql
初始化成功則出現(xiàn)如下提示:
Installing MySQL system tables...
OK
Filling help tables...
OK
To start mysqld at boot time you have to copy
support-files/mysql.server to the right place for your system
PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER !
To do so, start the server, then issue the following commands:
./bin/mysqladmin -u root password 'root'
./bin/mysqladmin -u root -h VWmare password 'new-password'
Alternatively you can run:
./bin/mysql_secure_installation
which will also give you the option of removing the test
databases and anonymous user created by default.? This is
strongly recommended for production servers.
See the manual for more instructions.
You can start the MySQL daemon with:
cd . ; ./bin/mysqld_safe &
You can test the MySQL daemon with mysql-test-run.pl
cd ./mysql-test ; perl mysql-test-run.pl
Please report any problems with the ./bin/mysqlbug script!
10、修改權(quán)限
#> chown -R root .
#> chown -R mysql data
11、復(fù)制配置文件
#> cp support-files/my-medium.cnf /etc/my.cnf
#> cp support-files/mysql.server /etc/init.d/mysql.server
12、啟動(dòng)數(shù)據(jù)庫(kù)
#> bin/mysqld_safe --user=mysql &
13、查看是否有3306端口啟動(dòng)
#> netstat -nat
14、設(shè)置密碼
#> ./bin/mysqladmin -u root password 'new-password'
或者
#> ./bin/mysql_secure_installation
15、使用mysql
#> cd bin ?
#> ./mysql -u root -p
16、設(shè)置開(kāi)機(jī)自動(dòng)啟動(dòng)
#> cd /etc/init.d/
sudo update-rc.d mysql.server defaults
17、設(shè)置默認(rèn)編碼為UTF8
登錄MySQL,執(zhí)行編碼顯示:
show variables like 'character%';
QUOTE:
+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | latin1 |
| character_set_connection | latin1 |
| character_set_database | latin1 |
| character_set_filesystem | binary |
| character_set_results | latin1 |
| character_set_server | latin1 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
sudo vi /etc/mysql/my.cnf
找到[client] 添加:
default-character-set=utf8
找到[mysqld] 添加:
character_set_server = utf8
init_connect='SET NAMES utf8'
修改好后,重新啟動(dòng)mysql 即可.
sudo/etc/init.d/mysql.server restart
若啟動(dòng)異常則把[mysqld]處修改為
default-character-set=utf8
init_connect='SET NAMES utf8'
查詢(xún)一下show variables like 'character%';
QUOTE:
+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
六、tpcw_w安裝
?? 首先下載tpcw-java-dist-1.0.zip,下載網(wǎng)址:http://mitglied.multimania.de/jankiefer/tpcw/index.html
?? 然后將該文件進(jìn)行解壓
?? 然后修改其中的main.properties、tpcw.properties 文件
下面時(shí)我的main.properties文件的內(nèi)容(最后的dbName制定數(shù)據(jù)庫(kù)名,在數(shù)據(jù)庫(kù)里新建一個(gè)數(shù)據(jù)庫(kù)名是用tpcw的數(shù)據(jù)庫(kù))
##############################################################################
# main.properties for build.xml.
# Copyright 2003 by Jan Kiefer.
#
# This file is distributed "as is". It comes with no warranty and the?
# author takes no responsibility for the consequences of its use.
#
# Usage, distribution and modification is allowed to everyone, as long?
# as reference to the author(s) is given and this license note is included.
##############################################################################
#<!-- Path to servlet.jar, change this ... -->
cpServ=/tomcat/tomcat-7.0.30/lib/servlet-api.jar
#<!-- Path to the JDBC driver for your DBMS, change this ... -->
cpJDBC=/tomcat/tomcat-7.0.30/webapps/tpcw/WEB-INF/lib/mysql-connector-java-5.1.22-bin.jar
#<!-- Directory where tpcw.war will be put with task 'inst' -->
webappDir=/tomcat/tomcat-7.0.30/webapps/tpcw
#<!-- Path to the Perl interpreter. -->
perlPath=/usr/bin/perl
#<!-- Directory where the Images will be put with task genimg. -->
imagesDir=${webappDir}/Images
#<!-- Filter file for SQL queries, change this if needed -->
sqlFilter=sql-mckoi.properties
#dbName=std
dbName=tpcw
?以及我的tpcw.properties:
##############################################################################
# tpcw.properties for build.xml.
# Copyright 2003 by Jan Kiefer.
#
# This file is distributed "as is". It comes with no warranty and the?
# author takes no responsibility for the consequences of its use.
#
# Usage, distribution and modification is allowed to everyone, as long?
# as reference to the author(s) is given and this license note is included.
##############################################################################
# set the JDBC parameters
jdbc.driver=com.mysql.jdbc.Driver
#jdbc.driver=com.mckoi.JDBCDriver
jdbc.path=jdbc:mysql://localhost:3306/tpcw?user=root&password=a
jdbc.connPoolMax=100
sql.bigCharType=varchar(500)
#sql.bigCharType=tinyblob
# set the values you want for tpcw
num.item=1000
num.eb=10
# use the right session string for your servlet container
#sessionIdString=$sessionid$
sessionIdString=jsessionid=
standardUrl=http://localhost:8080
#servletUrlPath=/servlet
servletUrlPath=/
tpcwUrlPath=/tpcw
? 在解壓后的tpc-w路徑下將TPCW_Database.std.java文件改名為T(mén)PCW_Database.tpcw.java
?修改函數(shù)名
?/home/liova/download/tpcw/tpc-w/src/rbe/util/Debug.java中
?public class Debug {? public static void assert(boolean assertCond, String message)
?把a(bǔ)ssert改成你自己想要的名字,我是改成assert1。
?接著以下三個(gè)文件中所有出現(xiàn)的Debug.assert中的assert都改成你自己修改函數(shù)名,我這里改完是Debug.assert1
?/home/liova/download/tpcw/tpc-w/src/rbe/EB.java
?/home/liova/download/tpcw/tpc-w/src/rbe/util/CharSetStrPattern.java
?/home/liova/download/tpcw/tpc-w/src/rbe/util/Histogram.java
?
修改代碼:tpc-w\tpcw\servlets\TPCW_Database.java
??? Class.forName(driverName); 改為:Class.forName(driverName).newInstance();//Class.forName(driverName); ?
?????????? ?
?? ant
(1)執(zhí)行命令
?? ant dist??????? (這條命令用來(lái)編譯servlets以及rbe java文件)
?? ant inst??????? (這命令執(zhí)行后,將把tpcw.war包移動(dòng)到tomcat的tpcw目錄下) ?
(2)創(chuàng)建數(shù)據(jù)庫(kù)中的表及記錄,執(zhí)行
?? ant gendb??????? (這命令將調(diào)用TPCW_populate.class)
(3)創(chuàng)建圖像
?? ant genimg???? (這命令將用make編譯圖像生成工具,用perl去運(yùn)行圖像生成腳本,復(fù)制靜態(tài)圖像到tomcat主目錄)
然后在主目錄下新建一個(gè)tpcw目錄和文件
?新建如下路徑
? \tpcw\Images???????? #將ant genimg生成的圖片復(fù)制到該路徑?
? \tpcw\WEB-INF
? \tpcw\WEB-INF\classes?? #將ant dist生成的servlet的字節(jié)文件拷貝到該路徑下,就是src\serverts下的.class文件
? \tpcw\WEB-INF\lib????? #將mysql-connector-java-5.1.22-bin.jar放到該路徑(環(huán)境變量中如果有就不需要了)
? \tpcw\WEB-INF\web.xml
?? web.xml文件如下:
<?xml version="1.0" encoding="ISO-8859-1"?>
<web-app xmlns="http://java.sun.com/xml/ns/j2ee"
??? xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
??? xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
??? version="2.4">
? <display-name>TPC-W</display-name>
? <description>
??? TPC-W Java Implementation
? </description>
? <servlet>
??? <servlet-name>TPCW_home_interaction</servlet-name>
??? <servlet-class>TPCW_home_interaction</servlet-class>
? </servlet>
? <servlet>
??? <servlet-name>TPCW_shopping_cart_interaction</servlet-name>
??? <servlet-class>TPCW_shopping_cart_interaction</servlet-class>
? </servlet>
? <servlet>
??? <servlet-name>TPCW_order_inquiry_servlet</servlet-name>
??? <servlet-class>TPCW_order_inquiry_servlet</servlet-class>
? </servlet>
? <servlet>
??? <servlet-name>TPCW_order_display_servlet</servlet-name>
??? <servlet-class>TPCW_order_display_servlet</servlet-class>
? </servlet>
? <servlet>
??? <servlet-name>TPCW_search_request_servlet</servlet-name>
??? <servlet-class>TPCW_search_request_servlet</servlet-class>
? </servlet>
? <servlet>
??? <servlet-name>TPCW_execute_search</servlet-name>
??? <servlet-class>TPCW_execute_search</servlet-class>
? </servlet>
? <servlet>
??? <servlet-name>TPCW_new_products_servlet</servlet-name>
??? <servlet-class>TPCW_new_products_servlet</servlet-class>
? </servlet>
? <servlet>
??? <servlet-name>TPCW_best_sellers_servlet</servlet-name>
??? <servlet-class>TPCW_best_sellers_servlet</servlet-class>
? </servlet>
? <servlet>
??? <servlet-name>TPCW_product_detail_servlet</servlet-name>
??? <servlet-class>TPCW_product_detail_servlet</servlet-class>
? </servlet>
? <servlet>
??? <servlet-name>TPCW_customer_registration_servlet</servlet-name>
??? <servlet-class>TPCW_customer_registration_servlet</servlet-class>
? </servlet>
? <servlet>
??? <servlet-name>TPCW_buy_request_servlet</servlet-name>
??? <servlet-class>TPCW_buy_request_servlet</servlet-class>
? </servlet>
? <servlet>
??? <servlet-name>TPCW_buy_confirm_servlet</servlet-name>
??? <servlet-class>TPCW_buy_confirm_servlet</servlet-class>
? </servlet>
? <servlet>
??? <servlet-name>TPCW_admin_request_servlet</servlet-name>
??? <servlet-class>TPCW_admin_request_servlet</servlet-class>
? </servlet>
? <servlet>
??? <servlet-name>TPCW_admin_response_servlet</servlet-name>
??? <servlet-class>TPCW_admin_response_servlet</servlet-class>
? </servlet>
? <servlet-mapping>
??? <servlet-name>TPCW_home_interaction</servlet-name>
??? <url-pattern>/TPCW_home_interaction</url-pattern>
? </servlet-mapping>
? <servlet-mapping>
??? <servlet-name>TPCW_shopping_cart_interaction</servlet-name>
??? <url-pattern>/TPCW_shopping_cart_interaction</url-pattern>
? </servlet-mapping>
? <servlet-mapping>
??? <servlet-name>TPCW_order_inquiry_servlet</servlet-name>
??? <url-pattern>/TPCW_order_inquiry_servlet</url-pattern>
? </servlet-mapping>
? <servlet-mapping>
??? <servlet-name>TPCW_order_display_servlet</servlet-name>
??? <url-pattern>/TPCW_order_display_servlet</url-pattern>
? </servlet-mapping>
? <servlet-mapping>
??? <servlet-name>TPCW_search_request_servlet</servlet-name>
??? <url-pattern>/TPCW_search_request_servlet</url-pattern>
? </servlet-mapping>
? <servlet-mapping>
??? <servlet-name>TPCW_execute_search</servlet-name>
??? <url-pattern>/TPCW_execute_search</url-pattern>
? </servlet-mapping>
? <servlet-mapping>
??? <servlet-name>TPCW_new_products_servlet</servlet-name>
??? <url-pattern>/TPCW_new_products_servlet</url-pattern>
? </servlet-mapping>
? <servlet-mapping>
??? <servlet-name>TPCW_best_sellers_servlet</servlet-name>
??? <url-pattern>/TPCW_best_sellers_servlet</url-pattern>
? </servlet-mapping>
? <servlet-mapping>
??? <servlet-name>TPCW_product_detail_servlet</servlet-name>
??? <url-pattern>/TPCW_product_detail_servlet</url-pattern>
? </servlet-mapping>
? <servlet-mapping>
??? <servlet-name>TPCW_customer_registration_servlet</servlet-name>
??? <url-pattern>/TPCW_customer_registration_servlet</url-pattern>
? </servlet-mapping>
? <servlet-mapping>
??? <servlet-name>TPCW_buy_request_servlet</servlet-name>
??? <url-pattern>/TPCW_buy_request_servlet</url-pattern>
? </servlet-mapping>
? <servlet-mapping>
??? <servlet-name>TPCW_buy_confirm_servlet</servlet-name>
??? <url-pattern>/TPCW_buy_confirm_servlet</url-pattern>
? </servlet-mapping>
? <servlet-mapping>
??? <servlet-name>TPCW_admin_request_servlet</servlet-name>
??? <url-pattern>/TPCW_admin_request_servlet</url-pattern>
? </servlet-mapping>
? <servlet-mapping>
??? <servlet-name>TPCW_admin_response_servlet</servlet-name>
??? <url-pattern>/TPCW_admin_response_servlet</url-pattern>
? </servlet-mapping>
? <welcome-file-list>
??? <welcome-file>index.html</welcome-file>
? </welcome-file-list>
</web-app>
然后在tomcat的安裝路徑下 conf/Catalina/localhost/? 目錄下新建tpcw.xml文件,文件內(nèi)容如下:
<?xml version="1.0" encoding="UTF-8"?>
<Context path="/tpcw" docBase="/tpcw" reloadable="true"/>
做到這里就安裝好了,可以運(yùn)行了。可以訪問(wèn)http://127.0.0.1:8080/tpcw/TPCW_home_interaction頁(yè)面測(cè)試是否安裝成功。
運(yùn)行TPC-W
? 1.cd /home/liova/download/tpcw/tpc-w/dist/
? 2.java rbe.RBE -EB rbe.EBTPCW1Factory 30 -OUT run1.m -RU 100 -MI 1000 -RD 100 -WWW http://localhost:8080/tpcw/ -CUST 10000 -ITEM 10000
? 命令的解釋可參考/home/liova/download/tpcw/tpc-w/docs/use.html以及/home/liova/download/tpcw/tpc-w/dist
? /doc/readme-rbe.txt
? 輸出的結(jié)果在/home/liova/download/tpcw/tpc-w/dist/下的run1.m文件中(名字自己在參數(shù)的指定)
參考:
http://tcloud.sjtu.edu.cn/wiki/index.php/Wooo:Building_TPCw?
http://www.cnblogs.com/eastson/archive/2012/06/09/2543489.html?
http://www.itpub.net/thread-1330311-1-1.html?
http://blog.csdn.net/cybercode/article/details/6737415
總結(jié)
以上是生活随笔為你收集整理的ubuntu11.10 安装tpc_w的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: [笔记] 大家一起来测试,benchma
- 下一篇: Ubuntu16安装CUDA9.0+An