Laravel 프로젝트를 0부터 배포
설치 Git
yum install git
git --version
# git version 2.18.2
git config --global user.name "xxx"
git config --global user.email "[email protected]"
git config --list
# user.name=xxx
# [email protected]
ssh-keygen -t rsa -C "[email protected]"
# ,
~/.ssh/id_rsa.pub
항목에 접근하는 창고 주소: 예를 들어 https://gitee.com/name/laravel-project
프로젝트의 -
에 서버에 추가id_rsa.pub
파일의 공개 키curl -sS https://getcomposer.org/installer | php
# All settings correct for using Composer
# Downloading...
# Composer (version 1.9.3) successfully installed to: /root/composer.phar
# Use it: php composer.phar
mv composer.phar /usr/local/bin/composer
composer -V
# Composer version 1.9.3 2020-02-04 12:58:49
curl 다운로드가 느리므로 다음 방법을 사용할 수 있습니다.
wget https://getcomposer.org/installer
php installer
mv composer.phar /usr/local/bin/composer
국내 미러 소스 변경:
# ( )
composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/
#
# composer config repo.packagist composer https://mirrors.aliyun.com/composer/
국내 미러링 소스 권장 사항:
Redis 설치
Laravel
캐시 및 대기열 내가 설정한 Redis
# Redis
dnf module list redis
# CentOS-8 - AppStream
# Name Stream Profiles Summary
# redis 5 [d] common [d] Redis persistent key-value database
# Remi's Modular repository for Enterprise Linux 8 - x86_64
# Name Stream Profiles Summary
# redis remi-5.0 common [d] Redis persistent key-value database
# Hint: [d]efault, [e]nabled, [x]disabled, [i]nstalled
# Redis
dnf install redis
systemctl enable redis
# Created symlink /etc/systemd/system/multi-user.target.wants/redis.service → /usr/lib/systemd/system/redis.service.
nano /etc/redis.conf
# ctrl+w requirepass, redis
# Redis
systemctl start redis
# Redis
systemctl stop redis
# Redis
systemctl status redis
# Redis
systemctl restart redis
웹소크 방송은 노드의 라이브러리
laravel-echo-server
를 사용합니다.# Nodejs
dnf module list nodejs
# CentOS-8 - AppStream
# Name Stream Profiles Summary
# nodejs 10 [d] common [d], development, minimal, s2i Javascript runtime
# nodejs 12 common, development, minimal, s2i Javascript runtime
# Hint: [d]efault, [e]nabled, [x]disabled, [i]nstalled
# nodejs
dnf module reset nodejs
# nodejs12
dnf module enable nodejs:12
#
dnf install nodejs
#
node -v
# v12.13.1
//
npm install laravel-echo-server -g
cd /var/www/html/laravel-project
laravel-echo-server init
// ? Do you want to run this server in development mode? No
// ? Which port would you like to serve from? 6001
// ? Which database would you like to use to store presence channel members? redis
// ? Enter the host of your Laravel authentication server. https://www.domain.net
// ? Will you be serving on http or https? https
// ? Enter the path to your SSL cert file. /path/to/fiel.crt
// ? Enter the path to your SSL key file. /path/to/fiel.key
// ? Do you want to generate a client ID/Key for HTTP API? Yes
// ? Do you want to setup cross domain access to the API? Yes
// ? Specify the URI that may access the API: https://www.domain.net
// ? Enter the HTTP methods that are allowed for CORS: GET
// ? Enter the HTTP headers that are allowed for CORS: Origin, Content-Type, X-Auth-Token, X-Requested-With, Accept, Authorization, X-CSRF-TOKEN, X-Socket-Id
// ? What do you want this config to be saved as? laravel-echo-server.json
// appId: xxxxxx
// key: xxxxxxxxxxxxxxxxxxxxxx
// Configuration file saved. Run laravel-echo-server start to run server.
// redis , redis
nano laravel-echo-server.json
// databaseConfig.redis
"port": "6379",
"host": "127.0.0.1",
"password": "password"
//
laravel-echo-server start
//
laravel-echo-server stop
// ,
laravel-echo-server는 기본적으로 6001 포트를 사용하기 때문에 서버에서 미리 이 포트를 열어야 합니다배포 코드
cd /var/www/html/
git clone [email protected]:name/laravel-project.git
cd /var/www/html/laravel-project
composer install
cp .env.example .env
php artisan key:generate
php artisan storage:link
cd /var/www/html/laravel-project
chown -R apache:apache storage/
# php :
php -m
yum install mod_ssl
/etc/httpd/conf.d/vhost.conf
ServerName :443
DocumentRoot " "
SSLCertificateFile / /public.crt
SSLCertificateKeyFile / /*.key
SSLCertificateChainFile / /chain.crt
# conf.modules.d rewrite.conf rewrite
# 00-base.conf rewrite
# rewrite
# rewrite rewrite
nano /etc/httpd/conf.d/rewrite.conf
#
RewriteEngine on
RewriteCond %{SERVER_PORT} !^443$
RewriteCond %{REQUEST_URI} !^/tz.php
RewriteRule (.*) https://%{SERVER_NAME}$1 [R]
# apache
systemctl restart httpd
# apache php-fpm mysql redis ,
# laravel-echo-server
# ,
nano /etc/rc.d/rc.local
#
cd /var/www/html/ysmj-laravel
nohup laravel-echo-server start --force > /var/www/html/laravel-project/laravel-echo-server.out 2>&1 &
nohup php artisan queue:listen > /var/www/html/laravel-project/queue-listen.out 2>&1 &
# 。
chmod +x /etc/rc.d/rc.local
80
및 443
www
과 @
의 기록 값이 서버ip
주소httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1. Set the 'ServerName' directive globally to suppress this message
해결 방법: 열기/etc/httpd/conf/httpd.conf
, 한마디 추가ServerName localhost:80
SSLProtocol: Protocol 'TLSv1.2' overrides already set parameter(s). Check if a +/- prefix is missing.
해결 방법: SSL 설정의 SSLProtocol TLSv1 제거2 No slotmem from mod_heartmonitor
해결 방법: 파일/etc/httpd/conf.modules.d/00-proxy.conf
에서 LoadModule lbmethod_heartbeat_module modules/mod_lbmethod_heartbeat.so
줄을 주석해 주세요.바로 이 줄 앞에 하나#
입니다.문제가 해결되지 않으면 다른 프로필 apache
에서 heartbeat
를 찾아서 주석을 달아 보십시오.출처 suEXEC mechanism enabled (wrapper: /usr/sbin/suexec)
해결 방법: 파일/etc/httpd/conf.modules.d/00-base.conf
에서 LoadModule suexec_module modules/mod_suexec.so
줄을 주석해 주세요.바로 이 줄 앞에 하나#
입니다.문제가 해결되지 않으면 다른 프로필 apache
에서 suexec
를 찾아서 주석을 달아 보십시오.출처 caught SIGWINCH, shutting down gracefully
Apache/2.4.37 (centos) OpenSSL/1.1.1c configured -- resuming normal operations
Command line: '/usr/sbin/httpd -D FOREGROUND'
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Laravel - 변환된 유효성 검사 규칙으로 API 요청 제공동적 콘텐츠를 위해 API를 통해 Laravel CMS에 연결하는 모바일 앱(또는 웹사이트) 구축을 고려하십시오. 이제 앱은 CMS에서 번역된 콘텐츠를 받을 것으로 예상되는 다국어 앱이 될 수 있습니다. 일반적으로 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.