日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Nginx >内容正文

Nginx

Nginx+Tomcat集群的安装与配置

發布時間:2024/3/26 Nginx 56 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Nginx+Tomcat集群的安装与配置 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Nginx安裝在ip為x.x.x.x的服務器上

Tomcat安裝在ip為y.y.y.y的服務器上

nginx安裝

第一步,安裝編譯工具及庫文件,如果服務器上已經有了,可以不用再安裝。

命令:yum -y install make zlib zlib-devel gcc-c++ libtool ?openssl openssl-devel

第二步,安裝PCRE。( 目的是讓 Nginx 支持 Rewrite 功能)

下載 PCRE 安裝包命令:cd /usr/local/src/

wget Download PCRE from SourceForge.net

解壓安裝包命令:tar zxvf pcre-8.35.tar.gz

編譯安裝命令:cd pcre-8.35

./configure

make

make install

查看PCRE版本命令:pcre-config --version

第三步,安裝nginx。

下載Nginx命令:cd /usr/local/src/

wget http://nginx.org/download/nginx-1.18.0.tar.gz

解壓安裝包命令:tar zxvf nginx-1.18.0.tar.gz

編譯安裝命令:cd nginx-1.18.0

./configure?--prefix=/usr/local/nginx --sbin-path=/usr/local/nginx/sbin/nginx --conf-path=/usr/local/nginx/conf/nginx.conf --error-log-path=/usr/local/nginx/logs/error.log --http-log-path=/usr/local/nginx/logs/access.log --pid-path=/usr/local/nginx/logs/nginx.pid ?--lock-path=/var/lock/subsys/nginx?--http-client-body-temp-path=/var/tmp/nginx/client --http-proxy-temp-path=/var/tmp/nginx/proxy --http-fastcgi-temp-path=/var/tmp/nginx/fcgi --http-uwsgi-temp-path=/var/tmp/nginx/uwsgi --http-scgi-temp-path=/var/tmp/nginx/scgi --with-pcre --with-http_v2_module --with-http_ssl_module --with-http_realip_module --with-http_addition_module --with-http_sub_module --with-http_dav_module --with-http_flv_module --with-http_mp4_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_random_index_module --with-http_secure_link_module --with-http_stub_status_module --with-http_auth_request_module --with-mail --with-mail_ssl_module --with-file-aio --with-http_v2_module --with-threads --with-stream --with-stream_ssl_module --with-ipv6

make

make install

查看nginx版本命令:/usr/local/nginx/sbin/nginx -v

或? ? ? ? ? ? ? ? ? ? ? ? ? ? ? /usr/local/nginx/sbin/nginx -V

結果顯示“nginx?version: nginx-1.18.0”,nginx就安裝完成。

nginx配置

第一步,創建 Nginx 運行使用的用戶nginx。

命令:useradd -s /sbin/nologin -M nginx

( Nginx 服務的默認用戶是 nobody ,為了安全更改為 nginx,在配置文件中啟用user nginx nginx;)

第二步,修改nginx.conf配置文件。

nginx.conf路徑為/usr/local/nginx/conf/nginx.conf。nginx.conf內容如下:

user nginx nginx;?#用戶名設置為剛剛創建的用戶名worker_processes 2; ?#設置值和CPU核心數一致error_log /usr/local/nginx/logs/nginx_error.log crit; ?#日志位置和日志級別pid /usr/local/nginx/logs/nginx.pid; #pid文件路徑修改#Specifies the value for maximum file descriptors that can be opened by this process.worker_rlimit_nofile 65535; ?#工作最大限制events{use epoll;#添加這行命令worker_connections 65535; ?#工作最大限制}http{include mime.types;default_type application/octet-stream;#charset utf-8; ?#編碼改為utf-8...server{listen 80; ?#監聽端口server_name localhost; ?#域名,當前IP地址index index.html index.htm index.php;...}

第三步,檢查配置文件nginx.conf的正確性。

命令:/usr/local/nginx/sbin/nginx -t

若結果顯示“nginx: [emerg] mkdir() "/var/tmp/nginx/client" failed (2: No such file or directory)

nginx: configuration file /etc/nginx/nginx.conf test failed”,則說明服務無法啟動。可以使用命令“mkdir -p /var/tmp/nginx”創建目錄,然后再次運行命令:/usr/sbin/nginx -t

若結果顯示“nginx: configuration file /etc/nginx/nginx.conf test is successful”,則說明nginx安裝和配置成功。

nginx啟動和訪問站點

第一步,啟動nginx。

命令:/usr/sbin/nginx

第二步,檢查是否已經啟動。(查看是否有進程)

命令:ps -ef | grep nginx

結果的第一行顯示“nginx:master process”,nginx已經啟動。

注意:nginx:master process后面有一個路徑,這就是nginx的安裝路徑。

第三步,訪問站點。

從瀏覽器訪問已經配置好的站點IP,如果頁面顯示“Welcome to nginx!”,則說明Nginx已經安裝及配置好了。

nginx關閉、重啟命令

第一步,關閉nginx。

命令:/usr/sbin/nginx -s stop

第二步,配置文件修改后,需要指定配置文件進行重啟。

如果nginx服務已經停止,那就需要把nginx服務啟動。

命令:/usr/sbin/nginx ?-c /etc/nginx/nginx.conf

重啟nginx服務必須是在nginx服務已經啟動的情況下進行,因為這時,/var/run中存在nginx.pid文件。

命令:/usr/sbin/nginx ?-s ?reload

tomcat安裝

第一步,在/mnt文件夾中新建三個分別命名為server-jre、tomcat7和tomcat7-2的文件夾。

第二步,在server-jre文件夾下進行下載server-jre-8u202-linux-x64。到地址:Apache Tomcat? - Welcome!下載apache-tomcat-7.0.90的tar.gz壓縮包。然后使用WinSCP將apache-tomcat-7.0.90壓縮包上傳到/mnt文件夾中的tomcat7和tomcat7-2文件夾。

命令:cd /mnt/server-jre

wget https://www.oracle.com/java/technologies/javase/javase8-archive-downloads.html/jre-8u202-linux-x64.tar.gz

第三步,分別在server-jre、tomcat7和tomcat7-2三個文件夾下進行解壓tar.gz壓縮包。

命令:cd /mnt/server-jre

tar -zxvf server-jre-8u202-linux-x64.tar.gz

cd /mnt/tomcat7

tar -zxvf apache-tomcat-7.0.90.tar.gz

cd /mnt/tomcat7-2

tar -zxvf apache-tomcat-7.0.90.tar.gz

第四步,配置jre環境變量,打開/etc/profile文件,在文件底部另起一行,加上下面四行代碼:

export JAVA_HOME=/usr/local/jdk1.8.0_202 export JRE_HOME=$JAVA_HOME/jre export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib:$JRE_HOME/lib/rt.jar:$JRE_HOME/lib/ext:$JRE_HOME/lib:$CLASSPATH export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH

第五步,測試server-jre是否配置成功。

#刷新profile文件

source /etc/profile

#查看jdk版本

java -version

如果成功顯示server-jre的版本,則說明server-jre配置成功。

tomcat配置及啟動

第一步,配置tomcat環境變量,打開/etc/profile文件,在文件底部添加配置之后顯示如下:

export JAVA_HOME=/usr/local/jdk1.8.0_202export JRE_HOME=$JAVA_HOME/jre#tomcat1export CATALINA_HOME=/mnt/tomcat7/apache-tomcat-7.0.90export CATALINA_BASE=/mnt/tomcat7/apache-tomcat-7.0.90export TOMCAT_HOME=/mnt/tomcat7/apache-tomcat-7.0.90#tomcat2export CATALINA_2_HOME=/mnt/tomcat7-2/apache-tomcat-7.0.90export CATALINA_2_BASE=/mnt/tomcat7-2/apache-tomcat-7.0.90export TOMCAT_2_HOME=/mnt/tomcat7-2/apache-tomcat-7.0.90export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib:$JRE_HOME/lib/rt.jar:$JRE_HOME/lib/ext:$JRE_HOME/lib:$CLASSPATHexport PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH

#刷新profile文件

命令:source /etc/profile

第二步,編輯配置tomcat7和tomcat7-2中的server.xml文件。

進入文件夾/mnt/tomcat7/apache-tomcat-7.0.90/conf,編輯server.xml。server.xml文件代碼如下:

<?xml version="1.0" encoding="UTF-8"?>...<Server port="8009" shutdown="SHUTDOWN">?#port設置為8009<Listener...<Connector port="9004" protocol="HTTP/1.1"??#port設置為9004connectionTimeout="20000"redirectPort="8443" />...<!-- Define an AJP 1.3 Connector on port 8009 --><Connector port="8039" protocol="AJP/1.3" #port設置為8039redirectPort="8443" />...</Server>

進入文件夾/mnt/tomcat7-2/apache-tomcat-7.0.90/conf,編輯server.xml。server.xml文件代碼如下:

<?xml version="1.0" encoding="UTF-8"?>...<Server port="8010" shutdown="SHUTDOWN">?#port設置為8010<Listener...<Connector port="9006" protocol="HTTP/1.1"??#port設置為9006connectionTimeout="20000"redirectPort="8443" />...<!-- Define an AJP 1.3 Connector on port 8009 --><Connector port="8040" protocol="AJP/1.3" #port設置為8040redirectPort="8443" />...</Server>

第三步,編輯配置/mnt/tomcat7-2/apache-tomcat-7.0.90/bin下的 catalina.sh文件。為防止出錯,先提前備份一下,然后把catalina.sh 和startup.bat文件中的變量CATALINA_HOME、CATALINA_BASE和CATALINA_TMPDIR對應替換成與環境變量配置時一致的CATALINA_2_HOME、CATALINA_2_BASE和CATALINA_2_TMPDIR,最后給予權限。

命令:cd /mnt/tomcat7-2/apache-tomcat-7.0.90/bin

chmod a+x catalina.sh

第四步,編輯配置tomcat7和tomcat7-2文件夾中的startup.sh 和 shutdown.sh文件。

/mnt/tomcat7/apache-tomcat-7.0.90/bin下的startup.sh文件代碼如下:

#!/bin/sh...# Start Script for the CATALINA Server# ---------------------------------------------------------export CATALINA_BASE=$CATALINA_BASEexport CATALINA_HOME=$CATALINA_HOMEexport TOMCAT_HOME=TOMCAT_HOME# Better OS/400 detection: see Bugzilla 31132...

/mnt/tomcat7/apache-tomcat-7.0.90/bin下的shutdown.sh文件代碼如下:

#!/bin/sh...# Stop script for the CATALINA Server# ---------------------------------------------------------export CATALINA_BASE=$CATALINA_BASEexport CATALINA_HOME=$CATALINA_HOMEexport TOMCAT_HOME=TOMCAT_HOME# Better OS/400 detection: see Bugzilla 31132...

/mnt/tomcat7-2/apache-tomcat-7.0.90/bin下的startup.sh文件代碼如下:

#!/bin/sh...# Start Script for the CATALINA Server# ---------------------------------------------------------export CATALINA_BASE=$CATALINA_2_BASE ?export CATALINA_HOME=$CATALINA_2_HOMEexport TOMCAT_HOME=TOMCAT_2_HOME# Better OS/400 detection: see Bugzilla 31132...

/mnt/tomcat7-2/apache-tomcat-7.0.90/bin下的shutdown.sh文件代碼如下:

#!/bin/sh...# Stop script for the CATALINA Server# ---------------------------------------------------------export CATALINA_BASE=$CATALINA_2_BASEexport CATALINA_HOME=$CATALINA_2_HOMEexport TOMCAT_HOME=TOMCAT_2_HOME# Better OS/400 detection: see Bugzilla 31132...

第五步,測試tomcat是否配置成功。

命令:cd /mnt/tomcat7/apache-tomcat-7.0.90/bin

./startup.sh

netstat -ntl | grep 9004

cd /mnt/tomcat7-2/apache-tomcat-7.0.90/bin

./startup.sh

netstat -ntl | grep 9006

如果結果成功顯示“Tomcat started”,則說明tomcat成功啟動。

如果tomcat啟動失敗,那么可能就是啟動時使用的端口被其他應用程序占用了,可以查看端口被哪個應用程序占用了。

命令:lsof -i:端口號

ps -ef | grep 進程號PID

tomcat成功啟動后,然后直接根據IP和端口在本地瀏覽器訪問。

如果頁面成功顯示“Apache Tomcat/8.5.73”,則說明tomcat配置成功。

如果發現訪問不到,可以查看防火墻是否開著。

命令:systemctl status firewalld.service ??#查看防火墻的狀態

systemctl stop firewalld.service? ? ? ? ? ? ? ? #臨時將防火墻關閉

關閉tomcat命令:./shutdown.sh

不進入nginx根目錄即可進行相應的操作

第一步,新建nginx啟動腳本代碼。

在文件夾/etc/init.d中新建名為nginx的文件,然后寫入下面代碼成為腳本文件。代碼如下:

#!/bin/bash# nginx Startup script for the Nginx HTTP Server# it is v.0.0.2 version.# chkconfig: - 85 15# description: Nginx is a high-performance web and proxy server.# ?????????????It has a lot of features, but it's not for everyone.# processname: nginx# pidfile: /var/run/nginx.pid# config: /usr/local/nginx/conf/nginx.confnginxd=/usr/sbin/nginxnginx_config=/etc/nginx/nginx.confnginx_pid=/var/run/nginx.pidRETVAL=0prog="nginx"# Source function library.. /etc/rc.d/init.d/functions# Source networking configuration.. /etc/sysconfig/network# Check that networking is up.[ ${NETWORKING} = "no" ] && exit 0[ -x $nginxd ] || exit 0# Start nginx daemons functions.start() {if [ -e $nginx_pid ];thenecho "nginx already running...."exit 1fiecho -n $"Starting $prog: "daemon $nginxd -c ${nginx_config}RETVAL=$?echo[ $RETVAL = 0 ] && touch /var/lock/subsys/nginxreturn $RETVAL}# Stop nginx daemons functions.stop() {echo -n $"Stopping $prog: "killproc $nginxdRETVAL=$?echo[ $RETVAL = 0 ] && rm -f /var/lock/subsys/nginx /var/run/nginx.pid}# reload nginx service functions.reload() {echo -n $"Reloading $prog: "#kill -HUP `cat ${nginx_pid}`killproc $nginxd -HUPRETVAL=$?echo}# See how we were called.case "$1" instart)start;;stop)stop;;reload)reload;;restart)stopstart;;status)status $progRETVAL=$?;;*)echo $"Usage: $prog {start|stop|restart|reload|status|help}"exit 1esacexit $RETVAL

第二步,給予/etc/init.d/nginx文件權限。

命令 :chmod +x /etc/init.d/nginx

# 設置開機自啟

命令:chkconfig --add nginx

chkconfig nginx on

# 檢查nginx命令 ??

命令:service nginx

/etc/init.d/nginx: line 20: [: =: unary operator expected

Usage: nginx {start|stop|restart|reload|status|help}

第三步,檢查一下腳本是否有用。

命令:/sbin/chkconfig nginx on

sudo /sbin/chkconfig --list nginx

如果結果顯示“nginx 0:off 1:off 2:on 3:on 4:on 5:on 6:off”,則說明腳本文件有用。

第四步,nginx啟動、關閉以及重啟命令。

ps -ef | grep nginx

systemctl start nginx

systemctl stop nginx

systemctl restart nginx

systemctl reload nginx

service nginx start

service nginx stop

service nginx restart

不進入tomcat根目錄即可進行相應的操作

第一步,進入/mnt/文件夾,新建兩個文件,分別命名為tomcat1和tomcat2,并在這兩文件中編寫腳本,兩個文件的腳本類似,只要更改server-jre路徑和tomcat路徑即可。文件的腳本如下:

#!/bin/bash### BEGIN INIT INFO# Provides: tomcat# Required-Start: $remote_fs $syslog# Required-Stop: $remote_fs $syslog# Default-Start: 2 3 4 5# Default-Stop: 0 1 6# Short-Description: tomcat-server daemon# Description: tomcat-server daemon### END INIT INFO## chkconfig: - 95 15# description: Tomcat start/stop/status script#更改server-jre路徑export JRE_HOME=/mnt/server-jre/jdk1.8.0_202export PATH=$JRE_HOME/bin:$PATH#CATALINA_HOME is the location of the configuration files of this instance of Tomcat#更改tomcat路徑CATALINA_HOME=/mnt/tomcat7/apache-tomcat-7.0.90#TOMCAT_USER is the default user of tomcatTOMCAT_USER=root#TOMCAT_USAGE is the message if this script is called without any optionsTOMCAT_USAGE="Usage: $0 {\e[00;32mstart\e[00m|\e[00;31mstop\e[00m|\e[00;32mstatus\e[00m|\e[00;31mrestart\e[00m}"#SHUTDOWN_WAIT is wait time in seconds for java proccess to stopSHUTDOWN_WAIT=3tomcat_pid() {echo `ps -ef | grep $CATALINA_HOME/bin/tomcat-juli.jar | grep -v grep | tr -s " "|cut -d" " -f2`}start() {pid=$(tomcat_pid)if [ -n "$pid" ]; thenecho -e "\e[00;31mTomcat is already running (pid: $pid)\e[00m"elseecho -e "\e[00;32mStarting tomcat\e[00m"if [ `user_exists $TOMCAT_USER` = "1" ]; thensu $TOMCAT_USER -c $CATALINA_HOME/bin/startup.shelse$CATALINA_HOME/bin/startup.shfistatusfireturn 0}status() {pid=$(tomcat_pid)if [ -n "$pid" ]; thenecho -e "\e[00;32mTomcat is running with pid: $pid\e[00m"elseecho -e "\e[00;31mTomcat is not running\e[00m"fi}stop() {pid=$(tomcat_pid)if [ -n "$pid" ]; thenecho -e "\e[00;31mStoping Tomcat\e[00m"$CATALINA_HOME/bin/shutdown.shlet kwait=$SHUTDOWN_WAITcount=0;until [ `ps -p $pid | grep -c $pid` = '0' ] || [ $count -gt $kwait ]doecho -n -e "\e[00;31mwaiting for processes to exit\e[00m\n";sleep 1let count=$count+1;doneif [ $count -gt $kwait ]; thenecho -n -e "\n\e[00;31mkilling processes which didn't stop after $SHUTDOWN_WAIT seconds\e[00m\n"kill -9 $pidfielseecho -e "\e[00;31mTomcat is not running\e[00m"fireturn 0}user_exists() {if id -u $1 >/dev/null 2>&1; thenecho "1"elseecho "0"fi}case $1 instart)start;;stop)stop;;restart)stopstart;;status)status;;*)echo -e $TOMCAT_USAGE;;esacexit 0

第二步,可直接把/mnt/tomcat1和/mnt/tomcat2文件分別復制到/etc/init.d文件夾中。

命令:cp /mnt/tomcat1 /etc/init.d/tomcat1

cp /mnt/tomcat2 /etc/init.d/tomcat2

第三步,添加執行權限,然后啟動tomcat服務。現在不進入tomcat7和tomcat7-2根目錄輸入命令,不會再提示command not found。

命令:cd /etc/init.d

chmod +x tomcat1

chmod +x tomcat2

service tomcat1 start

service tomcat1 stop

service tomcat1 restart

service tomcat2 start

service tomcat2 stop

service tomcat2 restart

Nginx+Tomcat集群

在nginx.conf文件中添加nginxDemo和proxy_pass。

/usr/local/nginx/conf/nginx.conf文件腳本如下:

#user ?nginx nginx;worker_processes ?2;#error_log ?/usr/local/nginx/logs/error.log crit;#pid ???????/usr/local/nginx/logs/nginx.pid;#Specifies the value for maximum file descriptors that can be opened by this process.worker_rlimit_nofile 65535;events {use epoll;worker_connections ?65535;}http {...#tcp_nopush ????on;#keepalive_timeout ?0;keepalive_timeout ?65;#添加nginxDemoupstream ??nginxDemo{server ?y.y.y.y:9004;server ?y.y.y.y:9006;}#gzip ?on;server {listen ??????80;server_name ?localhost;#charset utf-8;#access_log ?logs/host.access.log ?main;location / {root ??html;index ?index.html index.htm;#添加proxy_passproxy_pass ?http://nginxDemo;}...}

可以通過 netstat -ntpl查看啟動狀況。

最后直接根據IP和端口在本地瀏覽器訪問,tomcat和nginx都需要訪問。如果頁面成功顯示“Apache Tomcat/8.5.73”,則說明tomcat配置成功。如果頁面顯示“Welcome to nginx!”,則說明Nginx已經安裝及配置成功。

總結

以上是生活随笔為你收集整理的Nginx+Tomcat集群的安装与配置的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。