亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 服務器 > Linux服務器 > 正文

Linux下Tomcat+Nginx服務器環境安裝配置的簡明教程

2024-09-05 23:02:35
字體:
來源:轉載
供稿:網友
以Nginx作為反向代理再用Tomcat驅動Java Web程序是當今很流行的一種方案,那么這里我們就著眼于最基本的生產環境搭建,一起來看一下Linux下Tomcat+Nginx服務器環境安裝配置的簡明教程
 

一、安裝
1.安裝JDK

下載的jdk文件為:jdk-6u45-linux-x64.bin,執行如下命令進行安裝:

#./jdk-6u12-linux-i586.bin

2.安裝tomcat:

#tar zxvf apache-tomcat-6.0.18.tar.gz#mv apache-tomcat-6.0.29 tomcat

這里我將解壓后的apache-tomcat-6.0.29重命名為了tomcat方便操作。

3.配置環境變量:
編輯/etc下的profile文件,加上如下內容:

JAVA_HOME="/opt/app/jdk1.6.0_45"CLASS_PATH="$JAVA_HOME/lib:$JAVA_HOME/jre/lib"PATH=".:$PATH:$JAVA_HOME/bin"CATALINA_HOME="/opt/app/tomcat"export JAVA_HOME CATALINA_HOME

執行下面命令使變更生效:

# source /etc/profile

啟動tomcat并輸入http://domain:8080,如果看到貓的頁面即tomcat和jdk安裝成功
新建文件目錄/home/www為網站存放目錄,設置server.xml文件,在Host name=”localhost”處將appBase=的指向路徑改為/home/www/web
創建index.jsp至/home/www/web/ROOT,內容為:“hello!”  重新啟動tomcat,重新訪問,如果看到index.jsp文件內容hello!表示設置成功。

4.安裝Nginx
執行如下命令解壓nginx:

# tar zxvf nginx-1.4.4.tar.gz# mv nginx-1.4.4 nginx

同樣重命名了一下。
安裝nginx:

# ./configure --prefix=/opt/app/nginx

結果出現了錯誤:error: C compiler cc is not found,按網上所說安裝編譯源碼所需的工具和庫:

#yum install gcc gcc-c++ ncurses-devel perl

再次安裝,發現還有錯誤:the HTTP rewrite module requires the PCRE library.
執行

# yum -y install pcre-devel openssl openssl-devel

終于成功,

# ./configure --prefix=/opt/app/nginx# make# make install

nginx安裝成功后的安裝目錄為/opt/app/nginx

二、Nginx方面的配置
在/usr/local/目錄下分別安裝nginx和tomcat
為nginx添加conf.d目錄,用于各項目的配置,比如新建renhetoutiao.conf文件

server {  listen   80;  server_name devtoutiao.renhe.cn;  root    /home/renhetoutiao/renhetoutiao/htdocs;  access_log /home/renhetoutiao/renhetoutiao/logs/access_log.log;   location = / {    rewrite ^/$ /index.shtml last;  }   location ~ .shtml {    proxy_pass http://localhost:8081;    proxy_set_header  Host  $host;    proxy_set_header  X-Real-IP  $remote_addr;    proxy_set_header  X-Forwarded-For $proxy_add_x_forwarded_for;  }   location ~ .*.(js|css)?$ {    expires 1h;  }}server {  listen   80;  server_name devtoutiao.renhe.cn;  root    /home/renhetoutiao/renhetoutiao/htdocs;  access_log /home/renhetoutiao/renhetoutiao/logs/access_log.log;   location = / {    rewrite ^/$ /index.shtml last;  }   location ~ .shtml {    proxy_pass http://localhost:8081;    proxy_set_header  Host  $host;    proxy_set_header  X-Real-IP  $remote_addr;    proxy_set_header  X-Forwarded-For $proxy_add_x_forwarded_for;  }   location ~ .*.(js|css)?$ {    expires 1h;  }}

對nginx的conf/nginx.conf修改,第二行 user root,賦予nginx root權限,在http中添加 include /usr/local/nginx/conf.d/*.conf;
選擇一個項目如renhetoutiao, 目錄/home/renhetoutiao/renhetoutiao/

三、Tomcat方面的配置
catalina.policy catalina.properties context.xml tomcat-users.xml server.xml web.xml
這5個配置文件就可以啟動一個tomcat實例,其中server.xml是必須配置的。
catalina.policy catalina.properties web.xml 可以使用默認的,可以從安裝路徑copy,context.xml tomcat-users.xml可以不用。
所以每個項目我們只需要配置server.xml, 如renhetoutiao項目的配置

<?xml version='1.0' encoding='utf-8'?><Server port="8015" shutdown="SHUTDOWN">   <Listener className="org.apache.catalina.core.AprLifecycleListener"    SSLEngine="on" />  <Listener className="org.apache.catalina.core.JasperListener" />  <Listener className="org.apache.catalina.core.JreMemoryLeakPreventionListener" />  <Listener className="org.apache.catalina.mbeans.ServerLifecycleListener" />  <Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" />   <Service name="Catalina">     <Connector port="8081" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />     <Engine name="Catalina" defaultHost="localhost">      <Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="false" xmlValidation="false" xmlNamespaceAware="false">        <Context docBase="/home/renhetoutiao/renhetoutiao/web" path="" />      </Host>    </Engine>  </Service></Server><?xml version='1.0' encoding='utf-8'?><Server port="8015" shutdown="SHUTDOWN">   <Listener className="org.apache.catalina.core.AprLifecycleListener"    SSLEngine="on" />  <Listener className="org.apache.catalina.core.JasperListener" />  <Listener className="org.apache.catalina.core.JreMemoryLeakPreventionListener" />  <Listener className="org.apache.catalina.mbeans.ServerLifecycleListener" />  <Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" />   <Service name="Catalina">     <Connector port="8081" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />     <Engine name="Catalina" defaultHost="localhost">      <Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="false" xmlValidation="false" xmlNamespaceAware="false">        <Context docBase="/home/renhetoutiao/renhetoutiao/web" path="" />      </Host>    </Engine>  </Service></Server>

因為使用nginx,tomcat的ajp不會使用,所以可以去掉,tomcat可以這樣簡單配置。注意每個項目的連接端口和關閉端口,不要有重復。
因為tomcat回去加載指定路徑下得class lib,所以必須把配置、依賴等copy至web下,啟動腳本bin/startup,關閉腳本bin/shutdown 如下:

#!/bin/sh export CATALINA_BASE="$PWD"export CATALINA_HOME="/usr/local/tomcat" #啟動為適配tomcat目錄做的準備#遷移tomcat必要的配置文件 catalina.policy catalina.properties context.xml tomcat-users.xml web.xmlif [ ! -f "$CATALINA_BASE"/conf/catalina.policy ]; then  cp "$CATALINA_HOME"/conf/catalina.policy "$CATALINA_BASE"/conffi if [ ! -f "$CATALINA_BASE"/conf/catalina.properties ]; then    cp "$CATALINA_HOME"/conf/catalina.properties "$CATALINA_BASE"/conffi if [ ! -f "$CATALINA_BASE"/conf/web.xml ]; then    cp "$CATALINA_HOME"/conf/web.xml "$CATALINA_BASE"/conffi if [ ! -d "$CATALINA_BASE"/logs ]; then mkdir logsfi #準備classes和lib目錄CLASSES_PATH="$CATALINA_BASE"/web/WEB-INF/classesLIB_PATH="$CATALINA_BASE"/web/WEB-INF/librm -rf "$CLASSES_PATH"rm -rf "$LIB_PATH"cp -R "$CATALINA_BASE"/conf "$CLASSES_PATH"cp -R "$CATALINA_BASE"/lib "$LIB_PATH" #啟動時會記錄進程ID,存放于logs/tomcat.pid內#shutdown時強制關閉該進程$CATALINA_HOME/bin/startup.sh
#!/bin/sh export CATALINA_BASE="$PWD"export CATALINA_HOME="/usr/local/tomcat" #啟動為適配tomcat目錄做的準備#遷移tomcat必要的配置文件 catalina.policy catalina.properties context.xml tomcat-users.xml web.xmlif [ ! -f "$CATALINA_BASE"/conf/catalina.policy ]; then  cp "$CATALINA_HOME"/conf/catalina.policy "$CATALINA_BASE"/conffi if [ ! -f "$CATALINA_BASE"/conf/catalina.properties ]; then    cp "$CATALINA_HOME"/conf/catalina.properties "$CATALINA_BASE"/conffi if [ ! -f "$CATALINA_BASE"/conf/web.xml ]; then    cp "$CATALINA_HOME"/conf/web.xml "$CATALINA_BASE"/conffi if [ ! -d "$CATALINA_BASE"/logs ]; then mkdir logsfi #準備classes和lib目錄CLASSES_PATH="$CATALINA_BASE"/web/WEB-INF/classesLIB_PATH="$CATALINA_BASE"/web/WEB-INF/librm -rf "$CLASSES_PATH"rm -rf "$LIB_PATH"cp -R "$CATALINA_BASE"/conf "$CLASSES_PATH"cp -R "$CATALINA_BASE"/lib "$LIB_PATH"#啟動時會記錄進程ID,存放于logs/tomcat.pid內#shutdown時強制關閉該進程$CATALINA_HOME/bin/startup.sh
#!/bin/sh export CATALINA_BASE="$PWD"export CATALINA_HOME="/usr/local/tomcat" $CATALINA_HOME/bin/shutdown.sh#!/bin/sh export CATALINA_BASE="$PWD"export CATALINA_HOME="/usr/local/tomcat" $CATALINA_HOME/bin/shutdown.sh

通過tomcat的startup.sh腳本,會碰到項目中分配的線程沒有及時釋放,tomcat不能及時關閉,導致重啟時產生端口沖突
解決方案:強制關閉tomcat進程,kill -9 PID,執行腳本需要啟動時記錄各個tomcat實例的進程,這里將進程PID保存在項目的logs目錄下。
記錄PID的操作需要修改tomcat安裝目錄下 bin/catalina.sh腳本
在PRGDIR=dirname "$PRG"后面加上

TOMCAT_PID="$PWD"/"logs/tomcat.pid"if [ -f "$TOMCAT_PID" ]; then  CATALINA_PID="$TOMCAT_PID"elif [ $1 = "start" ]; then  CATALINA_PID="$TOMCAT_PID"fiTOMCAT_PID="$PWD"/"logs/tomcat.pid"if [ -f "$TOMCAT_PID" ]; then  CATALINA_PID="$TOMCAT_PID"elif [ $1 = "start" ]; then  CATALINA_PID="$TOMCAT_PID"fi

最后需要給項目用戶可執行權限 chmod 777 catalina.sh



發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
日本国产精品视频| 国产在线999| 中文字幕精品网| 97av在线视频| 国产91在线高潮白浆在线观看| 国产99久久精品一区二区 夜夜躁日日躁| 久久久久女教师免费一区| 欧美在线一区二区三区四| 免费91麻豆精品国产自产在线观看| 国产一区二区丝袜高跟鞋图片| 欧美性猛交xxxx免费看久久久| www欧美日韩| 久久久极品av| 中文字幕久精品免费视频| 久久久久北条麻妃免费看| 亚洲自拍偷拍在线| 国产区亚洲区欧美区| 国产97在线播放| 91精品国产高清自在线看超| 国产精品久久久久免费a∨大胸| 欧美激情一区二区三区在线视频观看| 日韩女在线观看| 成人av电影天堂| 欧美乱大交xxxxx另类电影| 亚洲欧美在线磁力| 久久天堂电影网| 91地址最新发布| 国产福利精品av综合导导航| 亚洲精品av在线| 伊人男人综合视频网| 青青久久av北条麻妃黑人| 精品视频在线播放色网色视频| 欧美成人高清视频| 亚洲va久久久噜噜噜久久天堂| 成人免费视频97| 久久露脸国产精品| 国产美女搞久久| 琪琪亚洲精品午夜在线| 中文国产成人精品| 亚洲欧美日韩爽爽影院| 成人久久一区二区三区| 91亚洲国产成人精品性色| 日韩二区三区在线| 欧美国产乱视频| 亚州国产精品久久久| 黑人巨大精品欧美一区二区一视频| 人九九综合九九宗合| 热草久综合在线| 国产在线98福利播放视频| 日本亚洲欧美三级| 两个人的视频www国产精品| 国产亚洲精品va在线观看| 成人国内精品久久久久一区| 另类美女黄大片| 日韩精品极品毛片系列视频| 亚洲字幕一区二区| 日韩高清中文字幕| 欧美性生活大片免费观看网址| 九九视频直播综合网| 亚洲乱码一区二区| 国产亚洲成精品久久| 亚洲福利在线看| 国产精品久久久久久久电影| 78色国产精品| 久久天天躁狠狠躁夜夜爽蜜月| 日韩电影第一页| 国产精品96久久久久久又黄又硬| 91chinesevideo永久地址| 成人黄色av播放免费| 久久精品亚洲热| 亚洲日本欧美中文幕| 在线精品国产欧美| 国产精品91在线观看| 日韩三级影视基地| 亚洲小视频在线| 日韩最新免费不卡| 国产啪精品视频| 国产亚洲视频在线观看| 久久久久国产视频| 亚洲美女精品成人在线视频| 伊人久久免费视频| 国产精品福利在线观看网址| 成人在线小视频| 久久精品国产综合| 国产福利精品av综合导导航| 92看片淫黄大片看国产片| 亚洲精品天天看| 亚洲国产精品女人久久久| 欧美—级高清免费播放| 亚洲自拍偷拍一区| 黄色一区二区在线观看| 日韩a**站在线观看| 亚洲人成在线观看网站高清| 最新69国产成人精品视频免费| 中文字幕欧美专区| 国产精品99久久久久久白浆小说| 亚洲精品日韩激情在线电影| 久久精品久久久久久| 亚洲人成伊人成综合网久久久| 色综合久久88| 国产精品三级美女白浆呻吟| 最近2019中文字幕第三页视频| 欧美性视频网站| 国产精品色婷婷视频| 久久精品久久久久久| 日韩久久免费视频| 久久夜色精品国产| 狠狠躁夜夜躁人人爽天天天天97| 成人中文字幕+乱码+中文字幕| 欧美人成在线视频| 97视频免费在线观看| 狠狠躁夜夜躁人人躁婷婷91| 一本色道久久88综合日韩精品| 国产精品亚洲аv天堂网| 国产精品v片在线观看不卡| 精品一区二区三区四区| 2020欧美日韩在线视频| 成人免费网站在线| 国产精品视频999| 欧美精品999| 日韩精品视频免费| 成人中心免费视频| 欧美日韩国产限制| 91精品国产91久久久| 欧美日韩国产麻豆| 亚洲成人性视频| 中文字幕欧美视频在线| 亚洲一区二区三区在线视频| 国产精品xxxxx| 在线免费观看羞羞视频一区二区| 欧美怡红院视频一区二区三区| 不卡中文字幕av| 亚洲高清色综合| 另类天堂视频在线观看| 久久99精品国产99久久6尤物| 精品无人区太爽高潮在线播放| 美女精品久久久| 日韩a**站在线观看| 久久视频免费观看| 久久久久久久国产精品视频| www.久久色.com| 中文字幕日韩专区| 欧美成年人视频网站欧美| 日韩中文字幕视频在线观看| 美女av一区二区| 色琪琪综合男人的天堂aⅴ视频| 日韩精品中文字幕在线观看| 久久综合国产精品台湾中文娱乐网| 国产日韩欧美自拍| 伊人伊成久久人综合网小说| 欧美激情视频在线观看| 国产精品久久久久久av下载红粉| 国产日韩在线亚洲字幕中文| 日韩精品在线免费播放| 91网在线免费观看| 国产精品99久久久久久久久| 日韩av在线电影网| 久久久久国产视频| 亚洲国模精品私拍| 亚洲成人精品久久久| 久久久久国产精品www| 538国产精品一区二区在线| 欧美福利小视频| 日韩中文字幕在线|