개발을 간바루Joy 하게

Centos7 LEMP + laravel 셋팅 본문

프로그래밍/Linux

Centos7 LEMP + laravel 셋팅

New! Game 2022. 8. 6. 03:37

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

https://vlog.tion.co.kr/centos-7-php-7-x-install-%EC%84%BC%ED%8A%B8os7%EC%97%90%EC%84%9C-php-%EB%B2%84%EC%A0%84-%EC%97%85%EB%8D%B0%EC%9D%B4%ED%8A%B8/

 

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

https://docs.3rdeyesys.com/compute/ncloud_compute_lemp_nginx_install_setting_centos_guide.html#repository-%EC%84%A4%EC%A0%95

 

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