Ubuntu 16.04에 LiteCart 쇼핑 카트 플랫폼을 설치하는 방법
LiteCart는 PHP, jQuery 및 HTML 5로 작성된 무료 오픈 소스 쇼핑 카트 플랫폼입니다. 단순하고 가벼우 며 사용하기 쉬운 전자 상거래 softwar입니다
Beanstalk 는 빠르고 간단한 작업 대기열입니다. 이메일 전송, 외부 API 연결 또는 이미지 처리와 같이 시간이 많이 걸리는 작업을 비동기식으로 실행할 수 있습니다. 이렇게하면 웹앱 대기 시간이 줄어 듭니다. Laravel은에 대한 기본 지원을 제공합니다 beanstalkd
.
이 튜토리얼에서는 beanstalkd
데모 라 라벨 애플리케이션을 설치 , 설정하고 Supervisor를 통해 큐 워커를 관리 할 것 입니다. 데모 애플리케이션은 Vultr API 에서 사용 가능한 OS 목록을 가져 와서 임의로 선택합니다.
시스템에 Supervisor가 이미 설치되어 있다고 가정합니다. 그렇지 않으면 Supervisor 설정 방법에 대한 다음 자습서를 읽어야합니다 . Ubuntu 16.04에서 Supervisor 설치 및 구성
또한 Vultr 인스턴스에 대한 SSH 액세스 권한이 있다고 가정합니다.
첫 번째 단계는 설치하는 것 beanstalkd
입니다.
sudo apt-get update
sudo apt-get install beanstalkd
서비스를 시작하십시오.
sudo systemctl start beanstalkd
시스템 초기화시 서비스가 시작되도록 할 수도 있습니다.
sudo systemctl enable beanstalkd
다음 명령을 실행하여 서비스 상태를 확인하십시오.
sudo systemctl status beanstalkd
기본적으로 beanstalkd
포트 에서 수신 대기합니다 11300
. Beanstalk는 github repository에 설명 된 간단한 텍스트 기반 프로토콜을 사용 합니다 . 를 실행하여 프로토콜을 테스트 할 수 있습니다 telnet
.
telnet localhost 11300
다음을 작성하고를 누르십시오 ENTER.
list-tubes
서버에서 사용 가능한 튜브 목록이 표시되어야합니다.
OK 14
---
- default
연결을 닫으려면 간단히 입력 quit
한 다음를 누릅니다 ENTER.
Beanstalk의 튜브는 작업 큐를 나타냅니다. Beanstalk는 기본적으로 생산자 , 소비자 , 작업 및 튜브로 구성 됩니다. 생산자는 작업을 튜브에 넣어 여러 소비자가 소비 (처리)합니다. 생산자와 소비자는 단순히 Beanstalk 서버의 클라이언트이며 서로 독립적입니다. 실제로 이것은 Beanstalk를 사용하여 PHP 응용 프로그램에서 작업을 생성하고 예를 들어 NodeJS 응용 프로그램에서 처리 할 수 있음을 의미합니다. 다행스럽게도 라 라벨은이 모든 것을 추상화하고 다음에 볼 수 있듯이 작업을 디스패치하고 처리 할 수있는 매우 간단한 API를 제공합니다.
샘플 프로젝트를 빌드하려면 먼저 종속성을 설치해야합니다. 우리는 PHP와 Composer를 설치할 것입니다.
sudo apt-get install php php-mbstring php-xml php-common php-zip composer
이제 Laravel 5.5를 기반으로 프로젝트를 생성하십시오.
composer create-project --prefer-dist laravel/laravel vultr "5.5.*"
다음으로 cd
최근에 생성 된 폴더에. 앞으로이 디렉토리에서 작업 할 것입니다. 이 폴더는 나중에로 참조 될 수 있습니다 PROJECT_ROOT
.
cd vultr/
Laravel에서 Beanstalk를 사용하려면 PHP Beanstalk 클라이언트라는 추가 종속성을 설치해야합니다.
composer require pda/pheanstalk ~3.0
또한 작업 표현을 작성해야합니다. 라 라벨에서 이것은 app/Jobs
폴더 안의 클래스 입니다. Laravel에는 Job 클래스를 생성하는 데 도움이되는 콘솔 명령이 있습니다. 샘플 작업을 만들어 봅시다.
php artisan make:job FindFavoriteOS
app/Jobs/FindFavoriteOS.php
파일을 다음으로 업데이트하십시오 .
<?php
namespace App\Jobs;
use Illuminate\Bus\Queueable;
use Illuminate\Queue\SerializesModels;
use Illuminate\Queue\InteractsWithQueue;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Foundation\Bus\Dispatchable;
use Illuminate\Support\Facades\Log;
class FindFavoriteOS implements ShouldQueue
{
use Dispatchable, InteractsWithQueue, Queueable, SerializesModels;
/**
* Create a new job instance.
*
* @return void
*/
public function __construct()
{
//
}
/**
* Execute the job.
*
* @return void
*/
public function handle()
{
$rawData = file_get_contents('https://api.vultr.com/v1/os/list');
$list = json_decode($rawData, true);
shuffle($list);
$key = array_rand($list);
$favorite = $list[$key];
Log::info('My Favorite OS is: ' . $favorite['name']);
}
}
handle 메소드는 작업이 사용될 때 효과적으로 실행될 것입니다. 여기에서는 Vultr API에서 데이터를 가져 와서 임의로 OS를 선택하고 선택한 OS를 로그 파일에 씁니다. 로그 파일은에 있습니다 storage/logs/laravel.log
.
우리는 이미 Beanstalk를 설치했고 그에 의해 실행되도록 작업을 정의했습니다. 이제 Beanstalk를 기본 작업 대기열로 사용하도록 Laravel에 지시해야합니다. .env
Laravel 설치에서 제공 한 기본 파일을 복사하십시오 .
cp .env.example .env
이제 .env
파일을 열고 큐 드라이버가 지정된 행을 업데이트하십시오.
QUEUE_DRIVER=beanstalkd
마지막으로 응용 프로그램 키를 생성하십시오.
php artisan key:generate
이제 Beanstalk 작업 큐에 작업을 디스패치 할 준비가되었습니다.
라 라벨에서 일자리를 파견하는 것은 매우 간단합니다. routes/web.php
파일을 업데이트 하십시오.
<?php
Route::get('/', function () {
for ($i = 0; $i < 50; $i++) {
\App\Jobs\FindFavoriteOS::dispatch();
}
return '50 Jobs dispatched!';
});
프로덕션 환경에서 기본 제공 제공 서버를 실행하는 것은 권장되지 않지만 여기서는 간결성을 위해 여기에서 사용합니다.
php artisan serve --host 0.0.0.0 --port 8000
이제 웹 브라우저에서로 이동하십시오 http://[vultr-instance-ip]:8000
. 다음과 같은 메시지가 나타납니다.
50 Jobs dispatched!
서버와 프로젝트 루트 내부에 새 SSH 연결을 열고 다음을 실행하십시오.
php artisan queue:work --once
이것은 예상되는 출력입니다.
[2018-02-14 00:03:52] Processing: App\Jobs\FindFavoriteOS
[2018-02-14 00:03:53] Processed: App\Jobs\FindFavoriteOS
로그가 생성되었는지 확인하십시오.
cat storage/logs/laravel.log
대기열을 수동으로 처리 할 필요가 없도록을 사용 supervisord
합니다. 에서 다음 프로그램 구성을 작성하십시오 /etc/supervisor/conf.d/vultr.conf
.
[program:vultr]
process_name=%(program_name)s_%(process_num)02d
command=php [PROJECT_ROOT]/artisan queue:work
autostart=true
autorestart=true
numprocs=8
redirect_stderr=true
stdout_logfile=/var/log/worker.log
Supervisor 구성 파일을 넣는 올바른 경로는 설정에 따라 다릅니다. 또한 시스템 [PROJECT_ROOT]
의 전체 경로 로 교체 PROJECT_ROOT
해야합니다.
여기에서는 큐 처리를 자동으로 시작하고 스크립트가 중단 된 경우 다시 시작하도록 Supervisor를 구성합니다. 또한 단일 작업자가 아닌 8 개의 프로세스를 인스턴스화하고 있습니다. 응용 프로그램에 따라 필요한 많은 프로세스를 자유롭게 인스턴스화 할 수 있습니다.
Supervisor가 작업자를 관리 할 수 있도록 강제로 구성을 다시 읽습니다.
sudo supervisorctl reread
sudo supervisorctl update
Supervisor 서비스가 시작되지 않은 경우 많은 사람들이이를 시작해야합니다.
sudo systemctl start supervisord
이제 작업이 처리되는지 확인하십시오.
tail -f storage/logs/laravel.log
웹 브라우저에서로 이동하십시오 http://[vultr-instance-ip]:8000
. 콘솔에서 로그가 생성되는 것을 볼 수 있습니다.
Beanstalk를 작업 대기열로 사용하도록 Laravel 응용 프로그램을 성공적으로 구성했습니다. 또한 Supervisor를 사용하여 작업자를 관리하는 방법을 시연했습니다.
LiteCart는 PHP, jQuery 및 HTML 5로 작성된 무료 오픈 소스 쇼핑 카트 플랫폼입니다. 단순하고 가벼우 며 사용하기 쉬운 전자 상거래 softwar입니다
NFS는 컴퓨터가 컴퓨터 네트워크를 통해 파일에 액세스 할 수 있도록하는 네트워크 기반 파일 시스템입니다. 이 가이드는 NF를 통해 폴더를 노출하는 방법을 설명합니다
다른 시스템을 사용하십니까? Matomo (이전 Piwik)는 Google 애널리틱스의 대안 인 오픈 소스 분석 플랫폼입니다. Matomo 소스가 호스팅됩니다
TeamTalk는 사용자가 고품질 오디오 / 비디오 대화, 문자 채팅, 파일 전송 및 화면 공유를 할 수있는 회의 시스템입니다. 내가
다른 시스템을 사용하십니까? 소개 CyberPanel은 오픈 소스이며 OpenLiteSpeed를 사용하는 최초의 제어판 중 하나입니다. 무슨 티
Ruby on Rails는 프로그래머의 생산성을 높이기 위해 개발 된 Ruby의 대중적인 웹 프레임 워크입니다. 그러나 다양한 보석과 의존성 확보
Vultr은 VPS에 액세스하여 구성, 설치 및 사용하는 여러 가지 방법을 제공합니다. 액세스 자격 증명 VPS ar의 기본 액세스 자격 증명
다른 시스템을 사용하십니까? OpenNMS는 엔터프라이즈 급 오픈 소스 네트워크 관리 플랫폼으로 여러 장치를 모니터링하고 관리하는 데 사용할 수 있습니다
다른 시스템을 사용하십니까? Omeka Classic 2.4 CMS는 디지털 공유를위한 무료 오픈 소스 디지털 출판 플랫폼 및 CMS (콘텐츠 관리 시스템)입니다
다른 시스템을 사용하십니까? DokuWiki는 데이터베이스가 필요없는 PHP로 작성된 오픈 소스 위키 프로그램입니다. 텍스트 파일에 데이터를 저장합니다. 도쿠 위크
Barnyard2는 Snort의 바이너리 출력을 MySQL 데이터베이스에 저장하고 처리하는 방법입니다. 시작하기 전에 코골이가 없으면
이 기사는 데비안에서 chroot jail을 설정하는 방법을 알려줍니다. 데비안 7.x를 사용한다고 가정합니다. 데비안 6 또는 8을 실행하고 있다면 작동 할 수 있습니다.
소개 데비안에서 VPN 서버를 설정하는 쉬운 방법은 PiVPN을 사용하는 것입니다. PiVPN은 OpenVPN 용 설치 프로그램 및 래퍼입니다. 그것은 당신을 위해 간단한 명령을 만듭니다
다른 시스템을 사용하십니까? 소개 CyberPanel은 오픈 소스이며 OpenLiteSpeed를 사용하는 최초의 제어판 중 하나입니다. 무슨 티
다른 시스템을 사용하십니까? Ghost는 201 년 이후 개발자와 일반 사용자 사이에서 인기를 얻고있는 오픈 소스 블로그 플랫폼입니다.
Lets Chat은 소규모 팀을위한 자체 호스팅 메시징 서비스를 제공하도록 설계된 오픈 소스 채팅 응용 프로그램입니다. 채팅이 NodeJS 및 MongoDB를 기반으로 함
다른 시스템을 사용하십니까? 전제 조건 Vultr CentOS 7 서버 인스턴스. sudo 사용자 1 단계 : 시스템 업데이트 먼저 시스템 서버를 업데이트하십시오.
다른 시스템을 사용하십니까? Brotli는 Gzip보다 압축률이 더 좋은 새로운 압축 방법입니다. 소스 코드는 Github에서 공개적으로 호스팅됩니다. 티
Plesk는 기본 HTTP / 2를 지원합니다. Plesk에서 HTTP / 2를 롤아웃하는 것이 다른 방법에 비해 훨씬 쉽지만 배치 프로세스에는 신중한 계획이 필요합니다.
다른 시스템을 사용하십니까? osTicket은 오픈 소스 고객 지원 티켓팅 시스템입니다. osTicket 소스 코드는 Github에서 공개적으로 호스팅됩니다. 이 튜토리얼에서
NTLite를 사용하여 Vultr 시스템과 호환되는 Windows 사용자 지정 ISO를 만드는 방법을 단계별로 설명합니다. 최신 드라이버와 업데이트 통합을 포함한 완벽 가이드.
Vultr BGP 설정을 위한 단계별 튜토리얼. ASN 할당부터 IP 라우팅 구성, BIRD 데몬 설정, FreeBSD 특이사항 및 실전 문제 해결 팁 7가지 포함한 최종 가이드
WebDAV (Web Distributed Authoring and Versioning)를 이용한 원격 파일 작성을 위한 프레임워크로, WsgiDAV 설치 및 구성 방법을 안내합니다.
Mailcow는 DoveCot, Postfix 및 기타 여러 오픈 소스 패키지를 기반으로 하는 경량 메일 서버입니다. 데비안에서 Mailcow 설치 방법을 안내합니다.
랜섬웨어 공격이 증가하고 있지만 AI가 최신 컴퓨터 바이러스를 처리하는 데 도움이 될 수 있습니까? AI가 답인가? AI boone 또는 bane인지 여기에서 읽으십시오.
오픈 소스이자 무료 운영 체제인 ReactOS가 최신 버전과 함께 제공됩니다. 현대 Windows 사용자의 요구 사항을 충족하고 Microsoft를 무너뜨릴 수 있습니까? 이 구식이지만 더 새로운 OS 환경에 대해 자세히 알아보겠습니다.
Whatsapp은 마침내 Mac 및 Windows 사용자용 데스크톱 앱을 출시했습니다. 이제 Windows 또는 Mac에서 Whatsapp에 쉽게 액세스할 수 있습니다. Windows 8 이상 및 Mac OS 10.9 이상에서 사용 가능
인공 지능이 소규모 회사에서 어떻게 인기를 얻고 있으며 어떻게 인공 지능이 성장할 가능성을 높이고 경쟁자가 우위를 점할 수 있는지 알아보려면 이 기사를 읽으십시오.
최근 Apple은 문제를 해결하기 위해 macOS Catalina 10.15.4 추가 업데이트를 출시했지만 이 업데이트로 인해 Mac 컴퓨터의 브릭킹으로 이어지는 더 많은 문제가 발생하는 것 같습니다. 자세히 알아보려면 이 기사를 읽어보세요.
빅데이터의 13가지 상용 데이터 추출 도구