سؤال

لدي nginx مع إعادة كتابة العمل بشكل صحيح على الخادم الخاص بي في الإنتاج.

ولكن عندما حاولت ضبط نفس القاعدة على جهاز التطوير المحلي الخاص بي (MAC)، لا يبدو أن إعادة الكتابة تعمل.

أريد "iramictutor.local" لإعادة توجيه إلى "www.universitytutor.local"

هنا هو الجزء ذي الصلة من بلدي nginx.conf

    server{
            listen 80;
            server_name universitytutor.local;
            rewrite ^/(.*) http://www.universitytutor.local/$1 permanent;
    }

    server {
          listen 80;
          server_name www.universitytutor.local *.universitytutor.local;
          root /Users/barmstrong/NetBeansProjects/universitytutor/public;   # <--- be sure to point to 'public'!
          passenger_enabled on;
                rails_env development;
    }

يتم تحميل الصفحة بشكل صحيح سواء أكتب "iramistictutor.local" أو "www.universitytutor.local" ولا إعادة توجيه.

لدي.

أيه أفكار؟

هل كانت مفيدة؟

المحلول

وجدت الحل لهذا. لم أتم إعادة تشغيل nginx بشكل صحيح حتى لم يكن التقاط التغييرات. ده!

يمكنك إعادة التشغيل مثل هذا

sudo kill `cat /opt/nginx/logs/nginx.pid `
sudo /opt/nginx/sbin/nginx

أو أضف هذا إلى .bashrc لاستخدام أسهل

alias nginx_restart='nginx_stop; nginx_start'
alias nginx_start='sudo /opt/nginx/sbin/nginx'
alias nginx_stop='sudo kill `cat /opt/nginx/logs/nginx.pid `'
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top