সিস্টেম রিবুটগুলিতে টমক্যাট 7 কীভাবে পুনরায় চালু করবেন?


26

আমি উবুন্টু 12.04 এলটিএসে টমক্যাট 7 ইনস্টল করেছি যা আমজান ইসি 2 উদাহরণে চলে। এখন আমি চাই টমক্যাটটি সিস্টেম রিবুটে স্বয়ংক্রিয়ভাবে পুনরায় চালু হবে art

আমি এই ব্লগটি পড়ি যা এখানে স্ক্রিপ্টের নীচে যুক্ত করার পরামর্শ দেয় /etc/init.d/tomcat7:

# Tomcat auto-start
#
# description: Auto-starts tomcat
# processname: tomcat
# pidfile: /var/run/tomcat.pid

case $1 in
start)
sh /usr/share/tomcat7/bin/startup.sh
;;
stop) 
sh /usr/share/tomcat7/bin/shutdown.sh
;;
restart)
sh /usr/share/tomcat7/bin/shutdown.sh
sh /usr/share/tomcat7/bin/startup.sh
;;
esac 
exit 0

এবং নিম্নলিখিত আদেশগুলি জারি করুন:

sudo chmod 755 /etc/init.d/tomcat7

sudo ln -s /etc/init.d/tomcat7 /etc/rc1.d/K99tomcat

sudo ln -s /etc/init.d/tomcat7 /etc/rc2.d/S99tomcat

sudo /etc/init.d/tomcat7 restart

আমার প্রশ্নগুলো

  1. Tomcat7 ইতিমধ্যে এটা স্ক্রিপ্ট, যেখানে আমরা প্রস্তাব স্ক্রিপ্ট পেস্ট করতে হবে কার?
  2. প্রস্তাবিত পদ্ধতিটি কি সঠিক?

উত্তর:


51

নীচে অনুযায়ী বিষয়বস্তু সহ /etc/init.d/tomcat7 এ আরআর স্ক্রিপ্ট তৈরি করুন (আপনার স্ক্রিপ্টটিও কাজ করা উচিত তবে আমি মনে করি এটি মানদণ্ডের আরও নিবিড়ভাবে মেনে চলে)।

নেটওয়ার্ক ইন্টারফেস কনফিগার করার পরে কেবল টমক্যাটটি শুরু হবে।

আর্ট স্ক্রিপ্ট সামগ্রী:

#!/bin/bash

### BEGIN INIT INFO
# Provides:        tomcat7
# Required-Start:  $network
# Required-Stop:   $network
# Default-Start:   2 3 4 5
# Default-Stop:    0 1 6
# Short-Description: Start/Stop Tomcat server
### END INIT INFO

PATH=/sbin:/bin:/usr/sbin:/usr/bin

start() {
 sh /usr/share/tomcat7/bin/startup.sh
}

stop() {
 sh /usr/share/tomcat7/bin/shutdown.sh
}

case $1 in
  start|stop) $1;;
  restart) stop; start;;
  *) echo "Run as $0 <start|stop|restart>"; exit 1;;
esac

এর অনুমতিগুলি পরিবর্তন করুন এবং স্বয়ংক্রিয়ভাবে সঠিক প্রতিলিঙ্ক যুক্ত করুন:

chmod 755 /etc/init.d/tomcat7
update-rc.d tomcat7 defaults

এবং এখন থেকে এটি স্বয়ংক্রিয়ভাবে শুরু হবে এবং উপযুক্ত রানলেভলে প্রবেশ করার পরে বন্ধ হয়ে যাবে। আপনি এটি দিয়ে এটিও নিয়ন্ত্রণ করতে পারেনservice tomcat7 <stop|start|restart>


1
ধন্যবাদ। আমি উবুন্টুতে নতুন আপনি যখন বলবেন তার অর্থ কী "আপনি টমক্যাট নেটওয়ার্ক ইন্টারফেস কনফিগার করার পরেই শুরু হবে।" "নেটওয়ার্ক ইন্টারফেস" এর অর্থ কী? "যথাযথ রান স্তরে প্রবেশের" অর্থ কী? tomcat7 ফাইলটির ইতিমধ্যে এতে প্রচুর স্ক্রিপ্ট রয়েছে যেখানে আমি আপনাকে প্রস্তাবিত স্ক্রিপ্টটি যুক্ত করব।
গৌরব আগরওয়াল

/Etc/init.d এর অধীনের init স্ক্রিপ্টগুলি একে অপরের উপর নির্ভরশীল হতে পারে যেমন এই ক্ষেত্রে: নেটওয়ার্ক স্ক্রিপ্টগুলি চালুর আগে tomcat7 স্ক্রিপ্টটি চালানো হবে না। আপনি কি গুগলে 'রানলেভেলস' এবং 'নেটওয়ার্ক ইন্টারফেস' শর্তাবলী সন্ধান করতে পারেন? আমি অন্যান্য জিনিসগুলিতে সহায়তা করতে পেরে খুশি তবে অন্যদের জন্য গুগলিং তুচ্ছ জিনিসগুলির সাথে তেমন কিছু না। এবং অন্যান্য প্রশ্ন সম্পর্কে: আমার স্ক্রিপ্টটি /etc/init.d/tomcat7 প্রতিস্থাপন বোঝানো হয়েছে।
মার্সিন কামিনস্কি

/etc/init.d/tomcat7আমার সিস্টেম এখানে ফাইল অনুরূপ gist.github.com/942150 । আমি কি ফাইলটি থেকে সমস্ত বিষয়বস্তু সরিয়ে নিয়েছি এবং আপনার স্ক্রিপ্টটি পেস্ট করব বা ইতিমধ্যে লিখিত স্ক্রিপ্টের কোনও জায়গায় এটি আটকে দেব।
গৌরব আগরওয়াল

আপনি সবেমাত্র উল্লেখ করা স্ক্রিপ্টটি দেখিনি। এটি বুদ্ধিমান দেখাচ্ছে এবং দেখে মনে হচ্ছে এটি টমক্যাটের সাথে আসা স্টার্টআপ / শাটডাউন স্ক্রিপ্টগুলি প্রতিস্থাপন করে। আমার সংস্করণটি কেবল তাদের ব্যবহার করছে। আপনি কি এই স্ক্রিপ্টগুলি পরীক্ষা করেছেন এবং সেগুলি কাজ করেছে তা নিশ্চিত করেছেন? যদি তা হয় তবে আপনি এগিয়ে গিয়ে আমার স্ক্রিপ্টটি ব্যবহার করতে পারেন। আপনি যেটি পছন্দ করুন ব্যবহার করুন, গুরুত্বপূর্ণ বিষয়টি হ'ল আপনি যখন এটি আটকান তখন স্ক্রিপ্টটি কী করে।
মার্সিন কামিনস্কি

1
আমার সন্দেহ উপরে শেল স্ক্রিপ্ট কি কখনো পারে কারণ এই ধরনের ত্রুটি। দয়া করে প্রথমে কিছু সমস্যার সমাধান করুন।
মার্সিন কামিনস্কি

3
#!/bin/bash
#
# Author : subz
# Copyright (c) 2k15
#
# Make kill the tomcat process
#
TOMCAT_HOME=/media/subin/works/Applications/apache-tomcat-7.0.57
SHUTDOWN_WAIT=5

tomcat_pid() {
  echo `ps aux | grep org.apache.catalina.startup.Bootstrap | grep -v grep | awk '{ print $2 }'`
}

start() {
  pid=$(tomcat_pid)
  if [ -n "$pid" ] 
  then
    echo "Tomcat is already running (pid: $pid)"
  else
    # Start tomcat
    echo "Starting tomcat"
    /bin/sh $TOMCAT_HOME/bin/startup.sh
  fi


  return 0
}

stop() {
  pid=$(tomcat_pid)
  if [ -n "$pid" ]
  then
    echo "Stoping Tomcat"
    /bin/sh $TOMCAT_HOME/bin/shutdown.sh

    let kwait=$SHUTDOWN_WAIT
    count=0;
    until [ `ps -p $pid | grep -c $pid` = '0' ] || [ $count -gt $kwait ]
    do
      echo -n -e "\nwaiting for processes to exit";
      sleep 1
      let count=$count+1;
    done

    if [ $count -gt $kwait ]; then
      echo -n -e "\nkilling processes which didn't stop after $SHUTDOWN_WAIT seconds"
      kill -9 $pid
      echo  " \nprocess killed manually"
    fi
  else
    echo "Tomcat is not running"
  fi

  return 0
}
pid=$(tomcat_pid)

 if [ -n "$pid" ]
  then
    echo "Tomcat is running with pid: $pid"
    stop
  else
    echo "Tomcat is not running"
    start
  fi
exit 0

উপরে শাম স্ক্রিপ্ট চেক টোম্যাক্যাট চলমান আছে কি না এটির চলমান প্রক্রিয়াটি মারা যায় কিনা। যদি টমক্যাটটি চলছে না তবে এটি আবার এই স্ক্রিপ্টটিকে একটি স্টার্ট আপ স্ক্রিপ্ট হিসাবে যুক্ত করবে
SUBZ

3

এটিকে যুক্ত করা যায় না /etc/rc.local

#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.

sleep 10
/usr/share/tomcat7/bin/startup.sh

4
কমপক্ষে যে ব্যক্তি আপনাকে নিম্নোক্ত করেছে, তার কারণটি ব্যাখ্যা করা উচিত। আমরা সকলেই লিনাক্স সম্পর্কে সমস্ত জানি না এবং আপনার কেন এটি করা উচিত নয় তা শিখলে ভাল লাগবে।
এডেনশো


0

অ্যাপাচি টমক্যাট এটির সাথে কোনও আরআইপি স্ক্রিপ্ট পাঠায় না।

  1. উবুন্টু প্যাকেজ ম্যানেজার থেকে উবুন্টু দ্বারা রক্ষণাবেক্ষণ করা প্রাক-প্যাকেজ সংস্করণ ইনস্টল করুন এই সংস্করণটি তার নিজস্ব থ্রি স্ক্রিপ্ট শিপ করে।

  2. আপনি যে ব্লগটিকে একটি কিকস্টার্ট সূচনা স্ক্রিপ্ট সরবরাহ করে সেগুলিতে অনুসরণ করুন।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.