LINUX開機自啟動redis服務

來源:互聯網
上載者:User

標籤:linux   redis   開機自動開啟   


以下是linux開啟連接埠命令的使用方法。

nc -lp 23 &(開啟23連接埠,即telnet)

netstat -an | grep 23 (查看是否開啟23連接埠)


做redis時想開機自啟動6379連接埠:(本質是要自啟動連接埠所對應的服務)

 1. 修改/etc/redis.conf,開啟後台運行選項:
 
# By default Redis does not run as a daemon. Use ‘yes‘ if you need it.
# Note that Redis will write a pid file in /var/run/redis.pid when daemonized.
daemonize yes

2.編寫指令碼,vim /etc/init.d/redis:(弄成   SHELL指令碼)

#!/bin/sh #一定要這句
# chkconfig: 2345 10 90
# description: Start and Stop redis
 
PATH=/usr/local/bin:/sbin:/usr/bin:/bin
 
REDISPORT=6379 #實際環境而定
EXEC=/opt/redis-2.4.6/src/redis-server #實際環境而定
REDIS_CLI=/opt/redis-2.4.6/src/redis-cli #實際環境而定
 
PIDFILE=/var/run/redis.pid
CONF="/opt/redis-2.4.6/redis.conf" #實際環境而定
 
case "$1" in
        start)
                if [ -f $PIDFILE ]
                then
                        echo "$PIDFILE exists, process is already running or crashed."
                else
                        echo "Starting Redis server..."
                        $EXEC $CONF
                fi
                if [ "$?"="0" ]
                then
                        echo "Redis is running..."
                fi
                ;;
        stop)
                if [ ! -f $PIDFILE ]
                then
                        echo "$PIDFILE exists, process is not running."
                else
                        PID=$(cat $PIDFILE)
                        echo "Stopping..."
                        $REDIS_CLI -p $REDISPORT SHUTDOWN
                        while [ -x $PIDFILE ]
                        do
                                echo "Waiting for Redis to shutdown..."
                                sleep 1
                        done
                        echo "Redis stopped"
                fi
                ;;
        restart|force-reload)
                ${0} stop
                ${0} start
                ;;
        *)
                echo "Usage: /etc/init.d/redis {start|stop|restart|force-reload}" >&2
                exit 1
esac


3.執行許可權:


chmod +x /etc/init.d/redis

    開機自啟動:


# 嘗試啟動或停止redis
service redis start
service redis stop
 
# 開啟服務自啟動
chkconfig redis on


理論知識:(摘抄)

一、連接埠和服務的關係
連接埠號碼與相應服務的對應關係存放在/etc/services檔案中,這個檔案中可以找到大部分連接埠。使用netstat命令
顯示的服務名稱也是從這個檔案中找的。有人說將這個檔案中的相應連接埠號碼注釋掉,就可以禁用該連接埠。
我試了卻不起作用,這種方法應該是沒有用的,是誤傳!將相應連接埠號碼注釋掉,唯一的作用就是使用netsat
命令時,將不顯示服務名(比如ftp)而是顯示連接埠號碼(比如21)。原理也很簡單:netstat無法在/etc/services
檔案中找到連接埠號碼對應的服務名,自然就無法顯示了。所以/etc/services檔案只是起到連接埠號碼與相應服務的
映射關係,與連接埠的啟動和關閉沒有關係!
二、查看本機開放的連接埠
1、netstat  查看連接埠和串連
netstat  列出目前已經已連線的服務名
netstat -a  列出目前已經串連的和正在監聽的服務名
netstat -an  列出目前已經串連的和正在監聽的連接埠號碼(與上面的命令功能一樣,只是不解釋連接埠號碼對應的服務名)
netstat -ap  在上面命令的基礎上列出串連的PID(進程號),用這個PID,可以使用KILL 來殺死串連
    例如:某個串連的PID=111,想踢出去就使用 KILL -9 111。ok!
netstat -rn  輸出路由表
2、nmap
nmap  127.0.0.1  查看本機開放的連接埠,會掃描所有連接埠
nmap  -p 1024  65535? 127.0.0.1  掃描指定連接埠範圍
nmap -PT 192.168.1.1-111? 掃描一組範圍的電腦
三、關閉和開啟連接埠(服務)
關閉連接埠的方法:
1、因為每個連接埠都有對應的服務,因此要關閉連接埠只要關閉相應的服務就可以了。
2、用IPTABLE對連接埠進行限制,這樣也能使連接埠不被訪問,但連接埠本身並沒有關閉。
在這兒只介紹關閉服務的方法,IPTABLE的應用以後再討論。
linux中開機自動啟動的服務一般都存放在兩個地方:
/etc/init.d/檔案夾下的服務:
這個檔案夾下的服務都可以通過運行相應的SCRIPT來啟動或關閉。
例如:啟動sendmail服務  ./sendmail start (開啟了TCP 25連接埠)
關閉sendmail服務  ./sendmail stop (關閉TCP 25 連接埠)
  查看sendmail服務目前狀態  ./sendmail? status (查看服務是否運行)
/etc/xinetd.d/檔案夾下的服務:
這個檔案夾下的服務需要通過更改服務的設定檔,並重新啟動xinetd才可以。
例如:要啟動其中的auth服務,開啟/etc/xinetd.d/auth設定檔,更改“disable=no”,儲存退出。運行/etc/rc.d/init.d/xinetd restart
要停止其中的auth服務,開啟/etc/xinetd.d/auth設定檔,更改“disable=yes”,儲存退出。運行/etc/rc.d/init.d/xinetd restart
四、控制開機自動啟動的服務
上面說的控制服務開關方法是在啟動linux之後進行操作的,如果我想在linux啟動時控制哪些服務啟動、哪些服務關閉怎麼做
控制服務自動啟動的方法有3個:
1、更改/etc/rc.d下的對應檔案夾:
  如果你登陸的預設介面是字元介面,那麼修改rc.3檔案夾,如果登陸介面預設是圖形介面,那麼修改rc.5。
  在檔案夾中,每個服務的名字前都帶有“K”或“S”,S就代表這個服務開機自動運行了,把它刪了或首碼改為“K”下次就不會啟動了。
2、使用ntsysv命令:
  輸入ntsysv命令,將會出現一個服務列表,需要啟動的打“*”,簡單。
3、使用chkconfig命令:
  讓某個服務不自動啟動:例如httpd:chkconfig --level 35  httpd? off  ;35指的是運行層級
讓某個服務自動啟動:例如httpd:chkconfig --level 35  httpd? on ;
  查看所有服務的啟動狀態:chkconfig --list
  查看某個服務的啟動狀態:chkconfig --list |grep httpd
  連接埠和服務的操作就到這兒吧。

LINUX開機自啟動redis服務

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.