일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- php artisan
- MySQL
- centOS
- 복습 #회사
- 메모
- jquery
- 네이버싫어
- 카카오가고싶다
- 키워드
- Backend
- 개인공부
- php-fpm
- AWS
- 일상
- linux #centos
- 보안
- centOS7
- error
- laravel
- NGINX
- 기타정리
- 코딩테스트
- ratchet
- php
- 시벌이슈
- 작업물
- 작업물 #영상편집 #서브컬쳐
- 에러해결
- 키워드 정리
- vagrant
- Today
- Total
개발을 간바루Joy 하게
Centos7 LEMP + laravel 셋팅 본문
2022-08-06 기준 셋팅
웹호스팅은 aws 기준입니다.
관리자 권한은 일일히 sudo 붙히기 귀찮아서 생략한점 참고해주시길 바랍니다.
php-fpm 실행 이름은 환경마다 다를수 있으므로 참고 바랍니다(검색하세요)
해당글 기준
php7.4
nginx 1.22
mysql 8.0
laravel 9.x
0. yum 업데이트
yum update

1. PHP 설치
yum install epel-release yum-utils -y

yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm -y

php 7.0 버전 업데이트
yum-config-manager --enable remi-php70
php 7.1 버전 업데이트
yum-config-manager --enable remi-php71
php 7.2 버전 업데이트
yum-config-manager --enable remi-php72
php 7.3 버전 업데이트
yum-config-manager --enable remi-php73
php 7.4 버전 업데이트
yum-config-manager --enable remi-php74
php 8.0 버전 업데이트
yum-config-manager --enable remi-php80
php 설치
yum install php php-common php-opcache php-mcrypt php-cli php-gd php-curl php-mysql -y

설치 확인
php -v

2. Nginx 설치
yum install yum-utils

Repository 설정
vi /etc/yum.repos.d/nginx.repo
[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true
[nginx-mainline]
name=nginx mainline repo
baseurl=http://nginx.org/packages/mainline/centos/$releasever/$basearch/
gpgcheck=1
enabled=0
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true

설치
yum -y install nginx

버전확인
nginx -v

3. php-fpm 설치및 nginx과 연동
yum install php-fpm
php-fpm 설정
vi /etc/php-fpm.d/[사용자설정].conf
[otaku]
user = [사용자]
group = [그룹이름]
listen = /var/run/php-fpm/[사용자].sock
listen.owner = [사용자]
listen.group = nginx
pm = dynamic
pm.max_children = 50
pm.start_servers = 5
pm.min_spare_servers = 5
pm.max_spare_servers = 35
php_admin_value[session.cookie_httponly] = 1
php_admin_value[session.use_strict_mode] = 1
;php_admin_value[session.name] = "MY_SESSION_ID"
;php_value[session.save_path] = /home/otaku/.php-session
;php_flag[display_errors] = off
;php_admin_value[error_log] = /var/log/php-fpm/7.1/www-error.log
;php_admin_flag[log_errors] = on
;php_admin_value[memory_limit] = 128M
;php_admin_value[max_execution_time] = 120
;php_admin_value[max_input_time] = 300
;php_admin_value[post_max_size] = 25M
;php_admin_value[upload_max_filesize] = 25M
소켓생성 확인
cd /var/run/php-fpm/
ll

Nginx conf설정
vi /etc/nginx/conf.d/[사용자].conf
server {
listen 80;
server_name localhost; #host설정
access_log /var/log/nginx/[사용자로그이름].access.log;
error_log /var/log/nginx/[사용자로그이름].error.log;
root [루트경로];
index index.php index.html index.htm;
location / {
try_files $uri $uri/ /index.php;
}
error_page 404 /404.html;
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
location ~ .php$ {
try_files $uri =404;
fastcgi_pass unix:/var/run/php-fpm/[php-fpm사용할소켓이름].sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
재실행
systemctl restart nginx
systemctl restart php-fpm
4. Mysql 설치
yum install -y https://dev.mysql.com/get/mysql80-community-release-el7-5.noarch.rpm

yum install -y mysql-server

서버 실행 및 접속
systemctl enable mysqld && systemctl start mysqld && systemctl status mysqld

5. Composer 설치
PHP CLI 종속성 설치
sudo yum install php-cli php-zip wget unzip

composer 설치 스크립트
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
HASH="$(wget -q -O - https://composer.github.io/installer.sig)"
php -r "if (hash_file('SHA384', 'composer-setup.php') === '$HASH') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"

sudo php composer-setup.php --install-dir=/usr/local/bin --filename=composer

alias 설정
alias composer="php /usr/local/bin/composer.phar"
설치확인
composer

6. laravel 설치
composer create-project laravel/laravel example-app

이슈사항
라라벨 Composer 설치시 해당 에러가 발생하는경우 있다

php mbstring과 xml을 설치해준다
yum install php-xml
yum install php-mbstring
참조사이트
https://jjeongil.tistory.com/1371
CentOS 7 : PHP Composer 설치, 사용하는 방법, 예제, 명령어
Composer는 PHP(Node.js의 경우 npm 또는 Python의 경우 pip과 유사함)의 종속성 관리자입니다. Composer는 프로젝트가 의존하는 모든 필수 PHP 패키지를 가져와 관리합니다. 그것은 라라벨, 심포니, 드루팔
jjeongil.tistory.com
CentOS 7 centos8 php 7.x install 센트os7에서 php 버전 7.4 업데이트
CentOS 7 centos8 php 7.x install 센트os7에서 php 버전 7.4 업데이트 centos 6, centos 6 php, centos 6 php 7.0, centos 6 php 7.1, centos 6 php 7.2, centos 6 php 7.3, centos 6 php 7.4, centos 6 php 7.5, centos 6 php install, centos 7, centos 7 php, c
vlog.tion.co.kr
CentOS에서 NginX 설치, 설정하는 방법
Ncloud CentOS 서버에 NginX를 Package로 설치하고 기본 설정을 하는 방법입니다
docs.3rdeyesys.com
https://zero-gravity.tistory.com/338
[CentOS7] mysql 8버전 설치 및 설정
집서버에 기존에 설치되어있던 5.6버전을 모조리 지우고, 8버전을 설치했다. 어짜피 테스트용 DB였기 때문에 delete and install이 크게 문제되지 않았다. 이번에도 역시 mysql은 개인 개발 테스트 용도
zero-gravity.tistory.com
https://stackoverflow.com/questions/34028282/composer-command-not-found
Composer: Command Not Found
From within the directory holding my composer.phar file, I can't execute any composer commands. I can see Composer is running when I execute php composer.phar But any direct composer statement...
stackoverflow.com
https://stackoverflow.com/questions/43408604/php7-install-ext-dom-issue
PHP7 : install ext-dom issue
I'm running laravel 5.4 on Ubuntu 16.04 server with PHP7. trying to install cviebrock/eloquent-sluggable package throw some error: pish@let:/home/sherk/ftp/www$ sudo composer require cviebrock/elo...
stackoverflow.com
'프로그래밍 > Linux' 카테고리의 다른 글
[Centos7] nodejs 최신버전 설치 (0) | 2021.04.08 |
---|---|
Centos7 Root 계정 SSH 원격 접속 제한 (0) | 2021.03.31 |
[Centos7] 줫같은 SElinux 해제 (0) | 2020.05.20 |
Centos7 php-fpm(Nginx) 설정 (0) | 2020.05.13 |
Centos7 php7.2 설치 (0) | 2020.05.12 |