سعيد يوسف نشر 8 أكتوبر 2021 أرسل تقرير نشر 8 أكتوبر 2021 لدي مشروع عبارة عن موقع الكتروني مبني بلغة روبي وإطار عمل ريلز، أريد شرح خطوات رفعه على الاستضافة وتشغيله 1 اقتباس
1 Wael Aljamal نشر 8 أكتوبر 2021 أرسل تقرير نشر 8 أكتوبر 2021 الآن علينا تجهيز قواعد البيانات والجدار الناري للمساح بتشغيل التطبيق مع تثبيت مخدم الويب nginx #نحدث المكتبات في النظام apt update && apt upgrade #تعديل الجدار الناري apt install ufw && ufw allow 22 && ufw logging off && ufw enable && ufw status #تثبيت مخدم ويب و قواعد بيانات apt install curl git nginx postgresql libpq-dev ^^^^^ ^^^^^^^^^^ Installing NGINX & Passenger حيث أن passenger هي الحزمة التي تشغل تطبيق ريلز للاستجابة، لأنه لايتعامل مباشرة مع طلبيات HTTP #(a) تثبيت مفتاح PGP key sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 561F9B9CAC40B2F7 #(b) تثبيت passenger من APT repository sudo sh -c 'echo deb https://oss-binaries.phusionpassenger.com/apt/passenger bionic main > /etc/apt/sources.list.d/passenger.list' sudo apt-get update #(c) Install Passenger and Nginx module sudo apt-get install -y libnginx-mod-http-passenger #(d) تحقق من ملف التكوين configuration files exist if [ ! -f /etc/nginx/modules-enabled/50-mod-http-passenger.conf ]; then sudo ln -s /usr/share/nginx/modules-available/mod-http-passenger.load /etc/nginx/modules-enabled/50-mod-http-passenger.conf ; fi sudo ls /etc/nginx/conf.d/mod-http-passenger.conf ثم تخصيص ملف التكوين نضيف ملف الإعداد passenger.conf ننشيئ sudo nano /etc/nginx/conf.d/mod-http-passenger.conf نضيف له passenger_ruby /home/deploy/.rbenv/shims/ruby; نحذف الإعداد الافتراضي sudo rm /etc/nginx/sites-enabled/default نضيف إعدادات مخصصة sudo nano /etc/nginx/sites-enabled/my_rails_app بعد تهيئة ملف الإعدادات نضع به القالب التالي مع التخصيص المناسب مثل المنفذ الذي سيعمل عليه التطبيق والمجلد الجذر للمشروع مع تفعيل passenger server { listen 80; listen [::]:80; server_name _; root /home/deploy/sample_rails_app/current/public; passenger_enabled on; passenger_app_env staging; } ونشغل nginx sudo service nginx start نثبت أداة Ruby Version Manager (RVM) مدير إصدارات لغة روبي، نحمل المفتاح: gpg2 --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB ثم نثبت روبي وريلز install ruby and rails: \curl -sSL https://get.rvm.io | bash -s stable --rails ثم للتحقق من إصدار روبي: $ ruby --version ruby 2.7.2p137 // ريلز gem $ gem list rails rails (6.0.3.4) يمكن تثبيت نسخة مخصصة عن طريق rvm بتحديدها كما في الأمر: rvm install ruby-2.7.2 rvm use 2.7.2 // تثبيت ريلز بطريقة مختلفة gem update --system && gem install bundler rails ثم نرفع الملفات على الاستضافة إما كملف مضغوط أو من خلال رفعهم على github ثم نثبت المكتبات الخاصة بمشروعنا بتنفيذ الأمر التالي في مجلد المشروع الرئيسي: bundle install ثم نعمل على تهجير قواعد البيانات وتشغيل المخدم تجهيز قواعد البيانات (تثبيت قاعدة بيانات و إنشاء مستخدم خاص بالمشروع) أحد الخيارين: postgres sudo apt-get install postgresql postgresql-contrib libpq-dev sudo su - postgres createuser --pwprompt deploy createdb -O deploy myapp exit mysql sudo apt-get install mysql-server mysql-client libmysqlclient-dev sudo mysql_secure_installation # Open the MySQL CLI to create the user and database mysql -u root -p CREATE DATABASE IF NOT EXISTS myapp; CREATE USER IF NOT EXISTS 'deploy'@'localhost' IDENTIFIED BY '$omeFancyPassword123'; CREATE USER IF NOT EXISTS 'deploy'@'%' IDENTIFIED BY '$omeFancyPassword123'; GRANT ALL PRIVILEGES ON myapp.* TO 'deploy'@'localhost'; GRANT ALL PRIVILEGES ON myapp.* TO 'deploy'@'%'; FLUSH PRIVILEGES; \q ننشئ ملف إعدادات البيئة ونضع فيه بيانات قاعدة البيانات # For Postgres DATABASE_URL=postgresql://deploy:PASSWORD@127.0.0.1/myapp # For MySQL DATABASE_URL=mysql2://deploy:$omeFancyPassword123@localhost/myapp RAILS_MASTER_KEY=ohai SECRET_KEY_BASE=1234567890 STRIPE_PUBLIC_KEY=x STRIPE_PRIVATE_KEY=y # etc... بقي تهجير قواعد البيانات وبدء المخدم بالأمرين: bin/rake db:migrate bin/rails s 1 اقتباس
السؤال
سعيد يوسف
لدي مشروع عبارة عن موقع الكتروني مبني بلغة روبي وإطار عمل ريلز، أريد شرح خطوات رفعه على الاستضافة وتشغيله
1 جواب على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.