คำถามติดแท็ก ruby-on-rails

Ruby on Rails เป็นเฟรมเวิร์กการพัฒนาเว็บแบบโอเพ่นซอร์ส MVC ที่เขียนด้วย Ruby ซึ่งปรับให้เหมาะกับความสุขของโปรแกรมเมอร์และรักษาผลผลิตที่ยั่งยืน หลายสิ่งถูกกำหนดโดยแบบแผนทำให้คุณไม่ต้องคิดค้นสิ่งต่างๆขึ้นมาใหม่เพื่อให้มีประสิทธิผล

8
วิธีการบังคับหรือเปลี่ยนเส้นทางไปยัง SSL ใน nginx
ฉันมีหน้าลงทะเบียนในโดเมนย่อยเช่น: https://signup.example.com มันควรจะสามารถเข้าถึงได้ผ่าน HTTPS แต่ฉันกังวลว่าผู้คนอาจสะดุดมันผ่าน HTTP และรับ 404 html / server block ของฉันใน nginx มีลักษณะดังนี้: html { server { listen 443; server_name signup.example.com; ssl on; ssl_certificate /path/to/my/cert; ssl_certificate_key /path/to/my/key; ssl_session_timeout 30m; location / { root /path/to/my/rails/app/public; index index.html; passenger_enabled on; } } } สิ่งที่ฉันสามารถเพิ่มเพื่อให้ผู้คนที่ไปhttp://signup.example.comได้รับการเปลี่ยนเส้นทางไปยังhttps://signup.example.com? (FYI ฉันรู้ว่ามีปลั๊กอิน Rails ที่สามารถบังคับได้SSLแต่หวังว่าจะหลีกเลี่ยงได้)

4
ป้องกันจดหมายที่ถูกทำเครื่องหมายว่าเป็นสแปม
นี่เป็นคำถามที่ยอมรับได้เกี่ยวกับการหลีกเลี่ยงอีเมลที่ถูกจัดประเภทว่าเป็นสแปม ยังเกี่ยวข้องกับ: การต่อสู้กับสแปม - ฉันสามารถทำอะไรได้บ้างในฐานะผู้ดูแลระบบอีเมลเจ้าของโดเมนหรือผู้ใช้ ระเบียน SPF คืออะไรและฉันจะกำหนดค่าได้อย่างไร ฉันสงสัยว่าจะป้องกันไม่ให้อีเมลจากเว็บไซต์ของฉันถูกทำเครื่องหมายว่าเป็นสแปมได้อย่างไร ฉันใช้ sendmail ฉันพยายามส่งอีเมลผ่านแอปพลิเคชัน ruby-on-rails ของฉัน อีเมลทั้งหมดเขียนด้วยภาษาสวีดิช (หากมีการเปลี่ยนแปลง) ฉันไม่รู้ว่าทำไมพวกเขาถึงถูกทำเครื่องหมายว่าเป็นจดหมายขยะ มีสิ่งใดบ้างที่ฉันสามารถทำได้เพื่อลดความเสี่ยง

6
ฉันควรปรับใช้แอพพลิเคชั่นของ Rails อะไร?
อะไรจะเป็นไดเรกทอรีที่สมเหตุสมผลและสมเหตุสมผลในการปรับใช้แอพ Rails ที่ใช้งานจริงบนระบบ Linux ผู้สมัครบางคน ... /var/rails <= There's a /var/www so this would be consistent with that pattern. But I.T. guys have complained about stuff in /var before. /home/my_home_dir/rails <= OK, not /var, but I'm not the only developer. Seems like it really ought to be a systemwide location. …

2
จำนวนที่เหมาะสมที่สุดสำหรับกระบวนการยูนิคอร์น CPU
เรากำลังเรียกใช้เว็บแอพ Ruby on Rails ในยูนิคอร์น แอปของเราไม่ได้เชื่อมโยงกับ CPU อย่างเคร่งครัด (เรามีระบบ Dual Xeon E5645 ที่มี 12 คอร์และค่าเฉลี่ยการโหลดสูงสุดอยู่ที่ประมาณ 6) เราเริ่มต้นด้วยคนงานยูนิคอร์น 40 คนในตอนแรก แต่การใช้งานหน่วยความจำเพิ่มขึ้นเมื่อเวลาผ่านไป ดังนั้นตอนนี้เราต้องลดจำนวนกระบวนการทำงาน ฉันคิดว่าสูตรมาตรฐาน (จำนวนคอร์ CPU + 1) ใช้กับยูนิคอร์นด้วย แต่เพื่อนร่วมงานของฉันพยายามโน้มน้าวให้ฉันฉันควรจองอินสแตนซ์ยูนิคอร์นต่อซีพียูมากขึ้นและระบุลิงก์นี้ แต่ฉันไม่แน่ใจว่าทำไมเราต้องใช้หน่วยความจำมากในกระบวนการยูนิคอร์นที่ไม่ได้ใช้งาน คำถามของฉันคืออะไรเหตุผลที่มีมากกว่าหนึ่งตัวอย่างยูนิคอร์นต่อซีพียูคอร์? มันเป็นเพราะลักษณะทางสถาปัตยกรรมบางอย่างของยูนิคอร์นหรือไม่? ฉันทราบว่ากระบวนการ Unicorn ที่ยุ่งไม่สามารถยอมรับการเชื่อมต่อใหม่ (เราใช้ซ็อกเก็ตโดเมน UNIX เพื่อสื่อสารกับ Unicorn อินสแตนซ์ BTW) แต่ฉันคิดว่า Backlog ถูกนำมาใช้เพื่อแก้ไขปัญหานี้ เป็นไปได้ไหมที่จะเอาชนะยูนิคอร์นอินสแตนซ์ 2 ถึง 8 ตัวต่อกฎของ CPU ได้?

3
กู้คืนถัง S3 รุ่นที่มีจุดเฉพาะในเวลา
สมมติว่าฉันเปิดใช้งานการกำหนดรุ่น S3 สำหรับที่เก็บข้อมูลของฉันแล้ว: http://docs.aws.amazon.com/AmazonS3/latest/dev/Versioning.html สมมติว่ามีคน (ตัวอย่างเช่นพนักงานระดับต้น) ทำหน้าที่ยุ่งเกี่ยวกับ S3 bucket (ลบไฟล์บางไฟล์โดยไม่ตั้งใจ) ฉันจะกู้คืนที่ฝากข้อมูลเวอร์ชันทั้งหมดไปยังจุดใดเวลาหนึ่งได้อย่างไร ฉันเชื่อว่านี่น่าจะเป็นไปได้เมื่อใช้ API ของ S3 แต่ฉันไม่ต้องการเขียนสคริปต์ตัวเองเพราะกลัวว่าจะพลาดบางสิ่ง (ฉันไม่ใช่ผู้เชี่ยวชาญ AWS) มีวิธีแก้ปัญหาที่ดีสำหรับปัญหานี้หรือไม่? ฉันใช้ S3 S3 เป็นที่เก็บรูปภาพสำหรับแอพ Rails ของฉันดังนั้นสิ่งที่ใช้ Ruby ซึ่งฉันสามารถใช้เป็นงานคราดก็เหมาะอย่างยิ่ง

1
วิธีต่างๆในการรีสตาร์ท Apache?
ฉันมีคำถาม Apache ที่นี่ สำหรับอาชีพของฉันทั้งหมดในฐานะนักพัฒนาฉันได้เริ่ม Apache ใหม่เช่นนี้: sudo /etc/init.d/apache2 restart วันนี้ฉันเพิ่งติดตั้งแอปพลิเคชั่นแรกของ Rails แต่ฉันมีปัญหาในการให้ Apache รีสตาร์ทบนเครื่องโฮสต์ เมื่อฉันลองทำเช่นนั้น Apache จะพยายามเริ่มต้นใหม่ แต่ในที่สุดก็จะหยุด อย่างไรก็ตามสิ่งนี้ทำงานได้ดี: sudo apachectl restart อะไรคือความแตกต่างระหว่างสองเทคนิคนี้? ฉันสันนิษฐานว่าสิ่งหลัง ๆ นั้นเป็นเรื่องที่ดีที่สุด "น้ำตาลประโยค" ในตอนแรก แต่นั่นก็ไม่ได้เป็นเช่นนั้น ถ้ามันเกี่ยวข้อง (และฉันสงสัยว่ามันอาจจะเป็น) แอพพลิเคชั่น Rails นี้ใช้ Phusion Passenger ประสบการณ์การพัฒนาก่อนหน้าของฉัน (โดยวิธีเดิมทำงานได้ดี) ส่วนใหญ่เป็น PHP ฉันค่อนข้างใหม่กับ Rails เซิร์ฟเวอร์ที่มีปัญหาใช้งาน Ubuntu 11.04 (Natty)

5
คำแนะนำ Amazon EC2 Ami สำหรับระดับฟรีหรือไม่
บริการบนเว็บของ Amazonเพิ่งเปิดตัวเทียร์ฟรีซึ่งโดยทั่วไปคุณจะได้รับของฟรีทดลองใช้ AWS และใช้งานเว็บไซต์และโครงการขนาดเล็ก โดยทั่วไปจะฟรีตราบเท่าที่คุณยังคงต่ำกว่าขีด จำกัด แบนด์วิดธ์ที่เก็บข้อมูลดิสก์ ฯลฯ เนื่องจากการทำงานเกินขีด จำกัด อาจกลายเป็นเรื่องค่อนข้างแพง (สำหรับมือสมัครเล่น) ฉันต้องการคำแนะนำหรือคำแนะนำเกี่ยวกับ AMI ที่ฉันสามารถทำงานบนชั้นฟรีเพื่อจุดประสงค์ในการลอง Ruby on Rails และ / หรือ Django

3
การจำลองแบบ MySQL ข้ามเซิร์ฟเวอร์ที่แยกทางภูมิศาสตร์
องค์กรของฉันกำลังมองหาวิธีกระจายเซิร์ฟเวอร์ของเราไปทั่วบริเวณทางภูมิศาสตร์ในขณะที่สำรองข้อมูลให้ทันสมัยอยู่เสมอและกระจายการโหลดอย่างสมบูรณ์แบบ สิ่งแรกที่ฉันมีในใจคือ Rails บน MySQL อัตราการเขียนไม่สูงเกินไป (บทความ / ความคิดเห็นถูกทิ้งไว้ที่น้อยกว่า 1 ต่อนาทีแม้ว่าบางคนจะมีไฟล์แนบขนาดใหญ่) ดังนั้น, ทำซ้ำ MySQL ทำงานได้ดีในเครือข่ายบริเวณกว้าง? การเชื่อมต่อ (หรือทาสเซิร์ฟเวอร์) หยุดทำงานหมายความว่าต้องการการแทรกแซงด้วยตนเอง (เมื่อเซิร์ฟเวอร์สองเครื่องสามารถพูดคุยกันอีกครั้ง) หรือการกู้คืนอัตโนมัติ หากต้นแบบหายไปสิ่งที่จำเป็นในการเปลี่ยนทาสให้เป็นเจ้านายคืออะไร? มีสคริปต์ / เครื่องมือมาตรฐานที่จะช่วยจัดการหรือไม่ gotchas อื่น ๆ อื่น ๆ ?

2
โซลูชั่นการจัดการ API [ปิด]
ปิด. คำถามนี้เป็นคำถามปิดหัวข้อ ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เป็นไปตามหัวข้อสำหรับข้อบกพร่องของเซิร์ฟเวอร์ ปิดให้บริการใน6 ปีที่ผ่านมา ขณะนี้ฉันกำลังสร้าง API และกำลังมองหาเครื่องมือเพื่อให้ฉันสามารถตรวจสอบ (ใน GUI) และการใช้อัตรา จำกัด ฉันเจอโซลูชันระดับองค์กรสองสามอัน ได้แก่ : http://apigee.com/ http://mashery.com/ http://www.layer7tech.com/ http://www.3scale.net/ แผนองค์กร Apigee เป็นสิ่งที่ฉันกำลังมองหา แต่แผนเริ่มต้นที่ $ 3,000 / เดือนซึ่งอยู่นอกช่วงราคาของฉัน โซลูชันอื่นทั้งหมดมีราคาแพงเกินไปหรือไม่มีวิธีแก้ไขปัญหาที่ฉันกำลังมองหา สิ่งนี้ทำให้ฉันมองไปที่ตัวเลือกโอเพนซอร์ซรวมถึง: http://apiaxle.com/ https://code.google.com/p/varnish-apikey/wiki/UsageManual วานิชดูเหมือนจะเป็นวิธีการแก้ปัญหาที่ค่อนข้างสมบูรณ์ อย่างไรก็ตามฉันจะต้องสร้าง GUI เพื่อให้เห็นภาพข้อมูล ตัวเลือกสุดท้ายของฉันคือการสร้างโซลูชันตั้งแต่เริ่มต้นโดยใช้ EventMachine และ ruby คำแนะนำใด ๆ?

1
อะไรทำให้เกิดข้อผิดพลาด 400 คำขอไม่ถูกต้องสำหรับค่า null (“”) และทำไมบันทึก nginx ของเราจึงมีจำนวนมาก
บันทึกประจำวันจาก Logwatch รายงานเป็นประจำ 400 คำขอไม่ถูกต้อง null: 1744 ครั้งจากบันทึก nginx ของเรา รายการบันทึกมีลักษณะดังนี้: 123.123.123.123 - - [25/Jan/2011:14:44:19 -0500] "-" 400 173 "-" "-" ทุกคนสามารถอธิบายได้ว่าสิ่งเหล่านี้เกิดขึ้นได้อย่างไรและทำไมจึงมีมากมาย ดูเหมือนจะไม่ทำร้ายอะไรเลย แต่เรามีจำนวนมากถึง 8000 คนในหนึ่งวัน เราโฮสต์แอปพลิเคชั่นรางขนาดกลางที่ทำงานบนยูนิคอร์นและ nginx มีการสนทนาบางอย่างในฟอรัม nginx แต่ฉันไม่พบวิธีแก้ไขปัญหาจริงที่ลดจำนวนการบันทึก Bad Reqeusts 400 รายการ

5
ฉันจะตั้งค่า Redmine => การตรวจสอบสิทธิ์ Active Directory ได้อย่างไร
ก่อนอื่นฉันไม่ใช่ผู้ดูแลระบบ AD บนไซต์ แต่ผู้จัดการของฉันขอให้ฉันลองติดตั้ง Redmine ส่วนตัวของฉันเพื่อรวมกับ ActiveDirectory เพื่อทดสอบขับสำหรับการเปิดตัวขนาดใหญ่ เซิร์ฟเวอร์โฆษณาของเราอยู่ที่โฮสต์: พอร์ตและฉันมีผู้ใช้ims.example.com:389IMS/me ตอนนี้ฉันยังมีผู้ใช้meใน Redmine โดยใช้การตรวจสอบท้องถิ่น ฉันสร้างวิธีตรวจสอบสิทธิ์ ActiveDirectory LDAP ใน RedMine ด้วยพารามิเตอร์ต่อไปนี้: Host: ims.example.com Port: 389 Base DN: cn=Users,dc=ims,dc=example,dc=com On-The-Fly User Creation: YES Login: sAMAccountName Firstname: givenName Lastname: sN Email: mail การทดสอบการเชื่อมต่อนี้ใช้งานได้ดี ฉันมี แต่ยังไม่ได้ตรวจสอบสิทธิ์กับมัน ฉันได้สร้างผู้ใช้ผู้ดูแลระบบสำรองเพื่อให้ฉันสามารถกลับเข้าสู่meบัญชีได้ถ้าฉันทำสิ่งต่าง ๆ แล้วฉันได้ลองเปลี่ยนmeเพื่อใช้ข้อมูลประจำตัว ActiveDirectory อย่างไรก็ตามเมื่อฉันทำเช่นนั้นแล้วจะไม่สามารถใช้งานการเข้าสู่ระบบได้ฉันได้ลองใช้ตัวเลือกชื่อเข้าสู่ระบบทั้งหมด: me IMS/me IMS\me ฉันใช้รหัสผ่านโดเมนที่รู้จักแล้ว …

2
Ubuntu สร้างบัญชี FTP โดยอัตโนมัติเมื่อผู้ใช้สร้าง
ฉันจะทราบว่าฉันกำลังใช้ Rails แต่นี่ไม่ใช่ปัญหาของ Rails ฉันไม่ได้มีประสบการณ์เกี่ยวกับ Linux มาก แต่ฉันรู้ว่าฉันใช้ Ubuntu 10.04 LTS บน Linode เมื่อลงทะเบียนผู้ใช้ผู้ใช้จะถูกสร้างโฟลเดอร์ใน RAILS_ROOT / สาธารณะ / ผู้ใช้ / [ผู้ใช้ของฉัน] / สำหรับการใช้งานส่วนตัวของพวกเขาเอง ภายในโฟลเดอร์นี้เป็นไดเรกทอรีอัลบั้ม ฉันจะสร้างโฟลเดอร์นี้ได้อย่างไรในเวลาเดียวกันรหัสผ่านจะเข้ารหัสและให้การเข้าถึง ftp แก่พวกเขา เป็นไปได้จริงหรือ อะไรคือสิ่งที่เกี่ยวข้องกับความปลอดภัยเช่นนี้ ฉันต้องการล็อคพวกเขาในนั้นและฉันเห็นบางคนพูดถึง vsftpd เป็นวิธีแก้ปัญหาในส่วนสุดท้ายนี้

3
แอปพลิเคชั่น Rails แสดงเฉพาะหน้าเริ่มต้น Nginx [ปิด]
ฉันมีปัญหากับแอปพลิเคชั่น Rails ที่จะใช้ Nginx และ Passenger ฉันได้ติดตั้งแอพพลิเคชั่นแล้วและได้ทำการติดตั้งไฟล์ config ของ nginx ดังนี้: server { listen 80; server_name www.example.com; root /home/johndoe/test_app/current/public; passenger_enabled on; ... } ฉันได้ตั้งค่าเซิร์ฟเวอร์ชื่อของโดเมนแล้วและเพิ่มรายการในผู้ให้บริการของฉัน อย่างไรก็ตามสิ่งที่ฉันเห็นคือหน้ายินดีต้อนรับสู่ Nginx ฉันได้ตรวจสอบบันทึกข้อผิดพลาด nginx และฉันเพิ่งเห็นสิ่งนี้ไม่แน่ใจว่ามันหมายถึงอะไรและทำไมมันถึงค้นหาไฟล์นั้น [ข้อผิดพลาด] 8492 # 0: * 7 open () "/opt/nginx/html/favicon.ico" ล้มเหลว (2: ไม่มีไฟล์หรือไดเรกทอรีดังกล่าว) ความช่วยเหลือใด ๆ จะได้รับการชื่นชมอย่างมาก ขอบคุณ
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.