Web_developer

centos7 - nginx + php + mariadb / yum 설치 본문

Linux

centos7 - nginx + php + mariadb / yum 설치

에잎이 2019. 8. 23. 12:23
반응형

LEMP는 Linux, Nginx (Pronounced engine X), MySQL / MariaDB 및 PHP를 나타냅니다. 서버가 동적 웹 사이트 및 웹 응용 프로그램을 호스팅 할 수 있습니다. 이 튜토리얼에서는 CentOS 7 서버에 LEMP 스택을 설치하는 방법을 보여줍니다. MySQL 대신 데이터베이스 서버로 MariaDB를 설치하기로 선택했습니다.

 

Install Nginx on CentOS7 From EPEL

Nginx는 Apache에 비해 빠른 웹 서버이며 요즘 더 인기가 있습니다. CentOS 7에 Nginx를 설치하려면 다음 명령을 사용하여 EPEL 저장소를 추가해야합니다. EPEL은 Enterprise Linux 용 추가 패키지를 나타냅니다.

 

sudo yum install epel-release -y

 

비밀번호를 입력하십시오. 이제 저장소가 추가되었으므로 Nginx를 설치할 차례입니다.

sudo yum install nginx -y

 

Nginx를 설치 한 후에는 시작해야합니다.

sudo systemctl start nginx

 

시스템 부팅시 Nginx가 시작되도록합니다.

sudo systemctl enable nginx

 

실행 중인지 확인하십시오.

systemctl status nginx

outputs:

nginx.service - The nginx HTTP and reverse proxy server Loaded: loaded (/usr/lib/systemd/system/nginx.service; enabled; vendor preset: disabled) Active: active (running) since Mon 2018-09-24 08:36:31 UTC; 1min 19s ago Main PID: 13692 (nginx) CGroup: /system.slice/nginx.service

                                   ├─13692 nginx: master process /usr/sbin/nginx

                                   └─13693 nginx: worker process

 

Nginx 버전 확인 :

nginx -v

nginx version: nginx/1.12.2

웹 브라우저에 서버 IP 주소를 입력하십시오. 다음이 표시되면 Nginx가 올바르게 설치된 것입니다.

 

 

 

다음 명령을 사용하여 서버 공용 IP 주소를 찾을 수 있습니다.

ip address

또는

curl http://icanhazip.com

 

서버 방화벽이 포트 80에 대한 공개 액세스를 비활성화했을 수 있습니다. 공개 액세스를 허용하기 위해 다음 명령을 사용하여 iptables 방화벽이 포트 80으로의 트래픽을 수락하도록합니다.

sudo iptables -I INPUT -p tcp --dport 80 -j ACCEPT

이제 서버는 정적 html 파일을 호스팅 할 수 있지만 동적 웹 사이트를 서버하려면 MariaDB 및 PHP를 설치해야합니다.

 

Install MariaDB on CentOS 7

MariaDB는 MySQL의 드롭 인 대체품입니다. 다음 명령을 사용하여 설치하십시오.

sudo yum install mariadb-server mariadb -y

 

설치가 끝나면 시작해야합니다.

sudo systemctl start mariadb

 

시스템 부팅시 MariaDB가 시작되도록합니다.

sudo systemctl enable mariadb

 

상태를 확인하세요

systemctl status mariadb

outputs:

mariadb.service - MariaDB database server Loaded: loaded (/usr/lib/systemd/system/mariadb.service; enabled; vendor preset: disabled) Active: active (running) since Mon 2018-09-24 08:48:46 UTC; 23s ago Main PID: 13970 (mysqld_safe) CGroup: /system.slice/mariadb.service

                             ├─13970 /bin/sh /usr/bin/mysqld_safe --basedir=/usr

 

 

버전 확인

mysql --version

mysql Ver 15.1 Distrib 5.5.60-MariaDB, for Linux (x86_64) using readline 5.1

 

 

이제 보안 스크립트를 실행해야합니다.

sudo mysql_secure_installation

스크립트가 현재 루트 암호를 물으면 비워두고 Enter 키를 누릅니다. 그런 다음 Y를 입력하고 루트 비밀번호를 설정하십시오.

 

루트 암호를 설정 한 후 Enter를 누르면 다른 모든 질문에 대답 할 수 있습니다. 문자 Y는 대문자로 표시되므로 기본 답변입니다.

 

 

 

이제 PHP 부분으로 넘어 갑시다.

 

Install PHP-FPM on CentOS7

다음 명령을 사용하여 PHP 및 관련 패키지를 설치하십시오.

sudo yum install php php-mysql php-fpm php-gd php-xml php-mbstring -y

 

이제 php-fpm 설정 파일을 편집하십시오.

sudo vi /etc/php-fpm.d/www.conf

 

다음 줄을 찾으십시오.

listen = 127.0.0.1:9000

 

이것을 다음과 같이 변경하십시오.

listen = /var/run/php-fpm/php-fpm.sock

 

다음 두 줄을 찾으십시오.

;listen.owner = nobody

;listen.group = nobody

 

앞의 세미콜론을 제거하십시오. 마지막으로, 사용자 및 그룹 값을 "apache"에서 "nginx"로 변경하십시오.

user = nginx
group = nginx

 

파일을 저장하고 닫으면 PHP 프로세서를 시작하십시오.

sudo systemctl start php-fpm

 

다음으로 시스템 부팅시 php-fpm을 시작하십시오.

sudo systemctl enable php-fpm

 

Configure Nginx Virtual Host

 

/etc/nginx/conf.d디렉토리에 새로운 가상 호스트 파일 생성

sudo vi /etc/nginx/conf.d/example.com.conf

 

다음 줄을 추가하십시오. www.example.com 및 example.com을 자신의 도메인으로 바꿉니다. 도메인 이름에 A 레코드를 설정하는 것을 잊지 마십시오.

server {
  listen 80;
  server_name www.example.com example.com;
  root /usr/share/nginx/html;
  index index.php index.html index.htm;
  location / {
    try_files $uri $uri/ /index.php$query_string;
  }
  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;
  }
}

 

파일을 저장하고 닫습니다. 그런 다음 nginx를 다시로드하십시오.

sudo systemctl reload nginx

추가 가상 호스트 파일을 추가하여 단일 서버에서 여러 웹 사이트를 호스팅 할 수 있습니다.

 

Test PHP Processing

info.php웹 루트 디렉토리에 파일을 작성하십시오.

sudo vi /usr/share/nginx/html/info.php

 

다음 텍스트를 파일에 넣으십시오.

<?php 
	phpinfo();
?>

 

저장하고 닫으십시오. 그런 다음 브라우저에 다음을 입력하여 새로 만든 파일을 방문하십시오.

http://자신의도메인/info.php

 

다음 스크린샷과 같은 내용이 표시되면 PHP가 올바르게 작동하는 것입니다.

 

이 파일은 테스트용 입니다.

보안상의 이유로 이제 다음 명령을 사용하여 제거 할 수 있습니다.

sudo rm /usr/share/nginx/html/info.php

 

 

 

 

출처 : https://www.linuxbabe.com/linux-server/how-to-install-lemp-stack-linux-nginx-mariadb-php-on-centos7

Comments