راکت
حل شده

api کجا قرار می گیرد

11 پاسخ

سلام
معمولا api رو در کجا قرار می دهند ؟ یک سرور و دامنه جدا از فرانت اند ؟ یا یک ساب دامین مثلا api.example.com ؟
بعضی شرکت های معتبر رو نگاه کردم در سرور و دامنه ای جدا داشتند . من خودم معمولا در ساب دامین دارم . ولی شک دارم که کار درستی می کردم یا خیر ..!
ممنون میشوم راهنمایی بفرمایید

ثبت پرسش جدید

پاسخ‌ها

11
محمدحسن یگانه
محمدحسن یگانه
@mhyeganeh

تخصص: Full-Stack Web Developer Freelancer

بهترین پاسخ

سلام

اول اینکه اجباری به جداسازی سرور نیست.
دوم اینکه مرسوم هست از یکی از دو حالت های زیر استفاده می‌کنند:

api.example.com
example.com/api

برای هر یک از دو حالت هم تنظیماتش لازم هست در لایه وب سرورتون انجام بشه. یعنی به محض دریافت ریکوئست به یک URL خاص این وظیفه وب سرور هست که بفهمه آیا باید درخواست رو به API برسونه یا اپلیکیشن فرانت اندیتون.

بسته به شرایطتون می‌تونید سرچ کنید و به پاسخ های زیادی برسید. بعنوان مثال اگر از وب سرور Nginx و حالت زیردامنه استفاده بکنید تنظیماتش میشه یک چیزی تو این مایه ها:

#laravel.conf
server {
    listen 80;
    root /var/www/html/project_name/public;
    index  index.php index.html index.htm;
    server_name  api.example.com www.api.example.com;

    location / {
        try_files $uri $uri/ /index.php?$query_string;        
    }

    location ~ \.php$ {
       include snippets/fastcgi-php.conf;
       fastcgi_pass unix:/var/run/php/php8.0-fpm.sock;
       fastcgi_param   SCRIPT_FILENAME $document_root$fastcgi_script_name;
    }

}
#vue.conf
server {
  listen 80;
  index index.html;
  server_name example.com www.example.com;

  location / {
      proxy_pass http://localhost:8080;
  }
}
mmj-sys
mmj-sys
@mmj.sys

تخصص: داش متخصص چیه من پروفسورم .

@gomnam
معمولا روی ساب دامین

محمدصادق عبداللهی
محمدصادق عبداللهی
@mimsadAlef

تخصص: junior full stack developer

مي تونيد روي site.ir/api بزاريد :-) اينجوري قشنگ تره

شاید پاسخ شما همین‌جا باشد

علیرضا کفایتی
علیرضا کفایتی
@alirezakefayati

تخصص: برنامه نویس laravel, vue.js

@mimsadAlef
خب برادر مشکل اینه که نمیتونم این کار رو بکنم . (مگر اینکه در دامنه و سرور جدا باشه)
چون درخواست ها ارسال میشه به vuejs
یعنی نمیتونم 2 تا فایل index داشته باشم (یکی مال لاراول و یکی مال vuejs)

سهیل حیدری
سهیل حیدری
@hbr

بستگی به ساختار و ماهیت پروژه داره.

محسن مهری
محسن مهری
@mohsen.mehri6101

تخصص: برنامه نویس back-end با زبان php framework laravel

درود ..فعلا هر جا هر طوری میتونی بیار بالا .بعدا خیلی راحت میتونی انتقال بدی یا تغییر بدی .نمون روی این مساله .

محمدصادق عبداللهی
محمدصادق عبداللهی
@mimsadAlef

تخصص: junior full stack developer

قطعا براي اين دو راهكاري هست
چون خيلي ها تو سايتشون لاراول و vue استفاده مي كنند
@hesammousavi يه راهنمايي بكنيد

علیرضا کفایتی
علیرضا کفایتی
@alirezakefayati

تخصص: برنامه نویس laravel, vue.js

@mhyeganeh
خیلی ممنون هستم از راهنمایی تون ، متاسفانه خیلی روی این مباحث مربوط به سرور کار نکردم و حس می کنم که نیاز دارم کار کنم ...
همین مورد رو برای وب سرور Apache در فایل .htaccess چجوری میشه پیاده سازی کرد ؟

محمدحسن یگانه
محمدحسن یگانه
@mhyeganeh

تخصص: Full-Stack Web Developer Freelancer

چیز پیچیده و غیرقابل یادگیری نداره و اگر بصورت فریلنس یا فول استک کار می‌کنید به نظرم لازمه حتما روی این بخش هم وقت بگذارید و در حد نیاز مسلط بشید. چون خیلی لازمه.

برای Apache هم خودتون سرچ کنید دیگه 😏😉

ایده کلیش اینه که باید برای هر server_name یا همون دامنه یکسری کانفیگ ها انجام بدید و به وب سرور بفهمونید هر وقت درخواستی برای اون آدرس اومد باهاش چکار کنه.

علیرضا کفایتی
علیرضا کفایتی
@alirezakefayati

تخصص: برنامه نویس laravel, vue.js

@mhyeganeh
خیلی ممنونم ...
همچنین ممنونم که به فکر سرچ کردن و تحقیقات ما هم هستید 🤣

محمدحسن یگانه
محمدحسن یگانه
@mhyeganeh

تخصص: Full-Stack Web Developer Freelancer

سلامت باشید...
هدف بنده و سایر دوستان از جمله خود جنابعالی کمک به هم دیگه و ارتقای سطح جامعه برنامه نویسان ایران هست.
و به نظرم برای رسیدن به این هدف باید سعی کنیم حتی المقدور ماهیگیری یاد بدیم و نه ماهی آماده 😉

برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام