ฉันจะรีสตาร์ท redis ที่ฉันติดตั้งด้วย brew ได้อย่างไร


66

ฉันใช้ Brew เพื่อติดตั้ง redis (เซิร์ฟเวอร์ฐานข้อมูลที่เก็บคีย์ / ค่า) สำหรับแอป node.js ของฉัน

brew install redis

อย่างไรก็ตามดูเหมือนว่าจะหายไปและมีความผันผวนมาก เนื่องจากฉันใช้ redis เป็นร้านค้าเซสชั่นของฉันฉันจึงต้องสามารถรีสตาร์ทได้อย่างรวดเร็วบน mac ของฉันเมื่อเกิดเหตุการณ์นี้

ฉันจะรีสตาร์ท redis ที่ฉันติดตั้งด้วย brew ได้อย่างไร

คำตอบ:


64

ปรับปรุง

บริการโรงเบียร์หมดอายุเนื่องจากไม่มีใครต้องการที่จะรักษามัน ตรวจสอบด้านล่าง: https://github.com/Homebrew/homebrew/issues/28657

ตรวจสอบlaunchctlฟังก์ชั่นแทน

หรือ lunchy

ดังนั้นแทนที่จะ:

launchctl load ~/Library/LaunchAgents/io.redis.redis-server.plist

คุณสามารถทำสิ่งนี้:

lunchy start redis

และ:

lunchy ls

การอ้างอิง: https://github.com/eddiezane/lunchy

มันเคยสามารถใช้ดังต่อไปนี้:

brew services restart redis

ควรเป็นคำสั่งรีสตาร์ทที่คุณต้องการ คุณยังสามารถเรียกใช้

brew services list

ซึ่งจะให้รายชื่อของบริการชงของคุณ


2
ฉันต้องติดตั้ง Redis อีกครั้งด้วย Brew เพื่อให้ได้ในการเริ่มต้นระบบจากนั้นสิ่งนี้ก็ใช้ได้ดี
Stuart Nelson

1
"คำเตือน: บริการชงไม่ได้รับการสนับสนุนและจะถูกลบในไม่ช้า"
72923

2
มันค่อนข้างโง่ที่จะลบทางลัดที่มีประโยชน์ออกไป แต่มันก็เป็นรถบักกี้ ฉันสามารถหยุด redis ด้วยbrew servicesได้ แต่หลังจากนั้นฉันก็ไม่สามารถเริ่มใหม่ได้
Phuong Nguyen

3
Brew ไม่รองรับ "กริยา" บริการอีกต่อไปตั้งแต่ 0.9.5
oDDsKooL

4
โปรดทราบว่าการชงไม่รองรับคำสั่งบริการในขณะนี้ผ่านการแตะ ดูคำตอบด้านล่างมันเป็นคำตอบที่เกี่ยวข้องมากขึ้นในขณะนี้
GrayedFox

38

ณ ธ.ค. 7-2015 brew servicesคุณสามารถใช้

คุณต้องbrew tap homebrew/servicesแล้ว thw ต่อไปนี้จะทำงานตามที่คาดไว้:

ติดตั้ง brew install redis

เริ่มต้น brew services start redis

หยุด brew services stop redis

เริ่มต้นใหม่ brew services restart redis

ข้อมูลเพิ่มเติมที่นี่: https://github.com/Homebrew/homebrew-services


คำตอบที่ขัดแย้งกันข้างต้นบอกว่าbrew servicesเลิกใช้แล้ว
chovy

5
@chovy พวกเขาถูกเลิกเพราะขาดการบำรุงรักษา แต่ตอนนี้กลับมาอีกครั้งในฐานะประปาชง ที่คุณสามารถดูครั้งสุดท้ายจาก27 วันที่ผ่านมา
microspino

3
นี่เป็นคำตอบที่เกี่ยวข้องมากขึ้นและทันสมัยกว่าคำตอบข้างต้นและใช้งานได้เร็วกว่าการใช้launchctlด้วยตนเอง
GrayedFox

2
ปี 2017 และฉันใช้ Brew v1.3.6 และมันใช้งานได้ดีอย่างสมบูรณ์
Ryan Taylor

23

Brew ไม่สนับสนุนservicesคำสั่งอีกต่อไป

วิธีที่แนะนำคือการใช้launchctlคำสั่งของ os x

ก่อนอื่นคุณต้องตั้งค่า redis เป็นบริการที่จัดการโดย launchctl:

$ ln -sfv /usr/local/opt/redis/*.plist ~/Library/LaunchAgents

จากนั้นคุณสามารถใช้launchctl load/ launchctl unloadเพื่อเริ่ม / หยุดบริการ:

$ # start redis server
$ launchctl load ~/Library/LaunchAgents/homebrew.mxcl.redis.plist
$
$ # stop redis server
$ launchctl unload ~/Library/LaunchAgents/homebrew.mxcl.redis.plist

ชงบริการสนับสนุน 0.9.5 นี่คือพวกเขา $ brew - รุ่น Homebrew 0.9.5 (แก้ไข git bf22; คอมมิทล่าสุด 2016-03-06) $ บริการรายชื่อ Brew สถานะผู้ใช้ Plist postgresql หยุด redis หยุด $
AMIC MING

19

ฉันพบว่าตัวเลือกเหล่านี้ทั้งหมดที่ระบุไว้ในชุดชง ( brew info redis) จะมีรถม้ามาก ตัวอย่างเช่น redis ส่งข้อผิดพลาดจำนวนมากหากยังไม่ได้เริ่มต้นด้วยรูท ฉันลงเอยด้วยการโทรโดยตรงด้วย sudo และลบไฟล์ Launchctl

sudo redis-server /usr/local/etc/redis.conf

ฉันหวังว่าจะมีวิธีที่จะรีสตาร์ท Redis ได้ง่ายจากบรรทัดคำสั่ง แต่ดูเหมือนจะเป็นไปไม่ได้ ดังนั้นฉันจึงรันโดยใช้โหมด daemon ตั้งค่าเป็น 'ไม่' และดูมันเข้าสู่ระบบเพื่อ stdout จากนั้นฉันสามารถฆ่ามันได้อย่างง่ายดาย


1
ผมเคยต่อท้ายคำสั่งนี้ด้วย 'และปฏิเสธที่จะพื้นหลังและแยกออกจากกระบวนการ
เบนซิมป์สัน

2
ดูคำตอบอื่น ๆ ที่ใช้launchctlงานได้และได้รับการสนับสนุนโดยสูตรการทำเบียร์
oDDsKooL

1

สำหรับ Homebrew 1.5.14

redis-server


4
ยินดีต้อนรับสู่ Super User! ข้อมูลที่ซ้ำกันนี้มีอยู่ในคำตอบอื่น - คุณสามารถแยกแยะได้หรือไม่? :)
bertieb

ตอนนี้มันก็เหมือนกับคำตอบที่ได้รับการยอมรับ !! (คุณควรลบคำตอบนี้ออกไปจริงๆ)
robinCTS

ไม่มันไม่ใช่. เขารวมเส้นทางไปยังไฟล์ conf เห็นได้ชัดว่าไม่เหมือนกันและไม่จำเป็น ฉันรู้ว่าฉันไม่ต้องการพิมพ์เส้นทางไปยังไฟล์ conf ทุกครั้งที่ฉันเริ่มและหยุด Redis และฉันคิดว่าคนอื่นที่อ่านข้อความนี้ (นอกเหนือจากคุณ) จะพบว่ามีค่า
Miguel Coder
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.