سلام روزتون بخیر
من میخوام ی پروژه ای که بالاراول نوشتم رو روی سرور اپلود کنم اما نمیدونم چطور باید این کارو کنم
از کسی همین سوال رو پرسیدم ک گفتن این کار وظیفه برنامه نویس نیست و ممکنه تویی ک بلد نیستی سرور رو بپاشونی و ...
اگ میشه بگید ایشون درست گفتن یا نه و درست نگفتن بگید چطور باید اپلود کنم.
@mhyeganeh
@mohaligateway
اونی که سرور رو بلد نیستی و میپاشونی آپلود کردن پروژه روی هاست نیست
اون کانفیگ کردن راه اندازی سرور هست که نیاز به تخصص خودش داره
اما برای آپلود کردن پروژه
برای شروع کل فایلارو بیارید توی public_html هاست و توی مرورگر برید به آدرس:
http://yourdomain.com/public
اگر این وسط دیتابسم به درستی ایمپورت کرده باشید و تو فایل کانفیگ اتصال رو درست برقرار کرده باشید
عملا کار تموم شدست و پروژه روی سرور ران شده ...
اما حالا بیایم از مرحله آموزشی در بیایم
روشی که پیشنهاد میکنم تا امنیت هم برقرار باشه
تمام فایل ها و پوشه های پروژه جز پوشه public رو بریزید تو یک پوشه مثلا با نام laravel
و توی هاست آپلود کنید
نکته مهم اینه که توی public_html این کارو نکنید این فایل ها نیازی نیست در دسترس http و درخواستاش باشن
پس هم ردیف با پوشه public_html پوشه laravel خودمونو تو هاست قرار میدیم
حالا محتوای توی پوشه public رو میبریم داخل public_html میزاریم
میمونه تنظیم کردن فایل index.php که با توجه به اینکه الان فایل index.php در پوشه public_html هاست ما هست
و پوشه laravel ما یک پوشه عقب تر هست index.php میشه:
<?php
use Illuminate\Contracts\Http\Kernel;
use Illuminate\Http\Request;
define('LARAVEL_START', microtime(true));
/*
|--------------------------------------------------------------------------
| Check If The Application Is Under Maintenance
|--------------------------------------------------------------------------
|
| If the application is in maintenance / demo mode via the "down" command
| we will load this file so that any pre-rendered content can be shown
| instead of starting the framework, which could cause an exception.
|
*/
if (file_exists(__DIR__.'/../laravel/storage/framework/maintenance.php')) {
require __DIR__.'/../laravel/storage/framework/maintenance.php';
}
/*
|--------------------------------------------------------------------------
| Register The Auto Loader
|--------------------------------------------------------------------------
|
| Composer provides a convenient, automatically generated class loader for
| this application. We just need to utilize it! We'll simply require it
| into the script here so we don't need to manually load our classes.
|
*/
require __DIR__.'/../laravel/vendor/autoload.php';
/*
|--------------------------------------------------------------------------
| Run The Application
|--------------------------------------------------------------------------
|
| Once we have the application, we can handle the incoming request using
| the application's HTTP kernel. Then, we will send the response back
| to this client's browser, allowing them to enjoy our application.
|
*/
$app = require_once __DIR__.'/../laravel/bootstrap/app.php';
$kernel = $app->make(Kernel::class);
$response = tap($kernel->handle(
$request = Request::capture()
))->send();
$kernel->terminate($request, $response);
اگر منظورتون از سرور VPS با دسترسی SSH هست یکم مراحل بیشتر و نسبتا پیچیده تری داره نسبت به هاست اشتراکی. چون خیلی از موارد رو باید خودتون نصب و کانفیگ کنید. ولی خوب کار نشد نداره و چند بار که انجام بدید کاملا دستتون میاد. برای شروع پیشنهاد میکنم طبق آموزش گام به گام زیر پیش برید و هر جایی گیر کردید گوگل کنید. حتما پاسخش پیدا میشه:
https://devmarketer.io/learn/deploy-laravel-5-app-lemp-stack-ubuntu-nginx/
من باب پیشنهاد هم اینکه اول چند بار با هدف یادگیری فرایندش رو انجام بدید و وقتی به یک اعتماد به نفس خوب رسیدید پروژه اصلیتون رو Deploy کنید.
با تحقیق رسیدم به افزونه
Sftp نرم افزار VS code
اما اطلاعات رو وارد کردم
{
"name": "My Server",
"host": "",
"protocol": "sftp",
"port": ,
"username": "",
"remotePath": "/",
"uploadOnSave": true
}
این ارور رو میده و وصل نمیشه
timed out while waiting for handshake
اطلاعاتی ک وارد میکنم طبق چیزی هست ک برام ارسال کردن اما نیمدونم مشکل از کجاست
@mhyeganeh
@mehdi.shahabbasian
آپلود پروژه ممکنه وظیفه برنامه نویس نباشه
اما برنامه نویس باید بدونه چجوری اپلیکیشن رو روی یه هاست ساده بالا بیاره
حالا اگر قرار باشه سرور کانفیگ کنی و اینها میشه گفت وظثفه برنامه نویس نیست اما آپلود روی هاست خیلی پروسه پیچیده ای نیست
SFTP مخفف SSH File Transfer Protocol هست و همون طوری که از اسمش پیداست وقتی به کار میاد که دسترسی SSH به سرور داشته باشید!
اگر اولین تجربه تون هست بهترین نقطه شروع، خرید یک هاست اشتراکی لینوکسی هست و بعد آپلود پروژتون با استفاده از FTP (مثلا با نرم افزار FileZilla که خیلی سادست) مراحل بعدی میشه مهاجرت به سرورهای مجازی یا همون VPS و اعمال تنظیمات و دسترسی SSH و ...
در هر مرحله هم اگر جستجو کنید آموزش های بسیار زیادی وجود داره که میتونه کمک کننده باشه.
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟