OpenSUSE에 LEMP - Nginx, PHP, MariaDB 및 PhpMyAdmin 설치
LEMP 또는 Linux, Engine-x, MySQL 및 PHP 스택은 소프트웨어입니다. Nginx HTTP 서버 및 MySQL/MariaDB 데이터베이스 관리 시스템으로 구동되는 PHP 기반 웹 애플리케이션을 실행하기 위해 Linux 운영 체제에 설치된 오픈 소스 소프트웨어로 구성된 번들입니다.
추가 읽기: OpenSUSE에 LAMP – Apache, PHP, MariaDB 및 PhpMyAdmin 설치
이 튜토리얼은 Nginx, MariaDB, PHP, 와 함께 LEMP 스택을 설치하는 방법을 안내합니다. OpenSuse 서버/데스크톱 버전의 PHP-FPM 및 PhpMyAdmin.
Nginx HTTP 서버 설치
Nginx는 더 높은 로드의 HTTP 요청을 처리할 수 있는 빠르고 안정적인 HTTP 및 프록시 서버입니다. 요청을 처리하기 위해 비동기식 이벤트 기반 접근 방식을 사용하며, 모듈식 이벤트 기반 아키텍처는 높은 부하에서 보다 예측 가능한 성능을 제공할 수 있습니다.
OpenSuse에 Nginx를 설치하려면 다음 명령을 실행하세요.
sudo zypper install nginx
Nginx가 설치되면 지금 서비스를 시작한 다음 부팅 시 자동 시작되도록 활성화하고 다음 명령을 실행하여 Nginx의 상태를 확인할 수 있습니다.
sudo systemctl start nginx
sudo systemctl enable nginx
sudo systemctl status nginx
또한 읽어 보세요: 모든 Linux 사용자가 알아야 할 가장 많이 사용되는 Nginx 명령 10가지
이 시점에서 Nginx 웹 서버가 실행 중이어야 하며 표시된 대로 netstat 명령을 사용하여 상태를 확인할 수도 있습니다.
sudo netstat -tlpn | grep nginx
이제 Nginx 설치가 제대로 작동하는지 테스트해야 합니다. 다른 Linux 배포판과 달리 openSUSE에서 Nginx에는 웹 루트 폴더에 표준 index.html
문서가 없습니다. 표시된 대로 루트 웹 디렉터리 "/srv/www/htdocs"
아래에 새 index.html
파일을 만들어야 합니다.
echo "<h1>Nginx is running fine on openSUSE Leap</h1>" | sudo tee /srv/www/htdocs/index.html
방화벽이 설치되어 있는 경우 방화벽에서 웹 트래픽을 허용하려면 포트 80 및 443을 열어야 합니다.
sudo firewall-cmd --permanent --add-port=80/tcp
sudo firewall-cmd --permanent --add-port=443/tcp
sudo firewall-cmd --reload
다음으로, 웹 브라우저를 열고 http://localhost
주소로 이동하여 Nginx 페이지를 확인하세요.
MariaDB 데이터베이스 서버 설치
MariaDB는 MySQL 관계형 데이터베이스 관리 시스템의 무료 오픈 소스 포크입니다. 이는 MySQL의 원래 개발자에 의해 개발되었으며 오픈 소스로 유지될 예정입니다. MariaDB는 빠르고 확장 가능하며 강력하며 풍부한 스토리지 엔진, 플러그인 및 기타 도구로 구성된 생태계를 갖추고 있어 다양한 사용 사례에 매우 다재다능하게 사용할 수 있습니다.
OpenSuse에 MariaDB를 설치하려면 다음 명령을 실행하세요.
sudo zypper install mariadb mariadb-client
다음으로 지금은 MariaDB 서비스를 시작한 다음 부팅 시 자동 시작되도록 활성화하고 상태를 확인합니다.
sudo systemctl start mariadb
sudo systemctl enable mariadb
sudo systemctl status mariadb
이 섹션의 다음 중요한 단계는 MariaDB 서버 설치를 보호하는 것입니다. 따라서 표시된 대로 MariaDB 패키지와 함께 제공되는 보안 스크립트를 실행하십시오.
참고: 프로덕션에 있는 모든 MariaDB 서버에 대해 MariaDB 보안 스크립트 및 모든 부분을 실행하는 것이 좋습니다.
sudo mysql_secure_installation
스크립트를 실행한 후 각 단계의 설명을 주의 깊게 읽어보세요. 루트 사용자 비밀번호를 설정하고, 익명 사용자를 제거하고, 원격 루트 액세스를 비활성화하고, 테스트 데이터베이스와 이에 대한 액세스를 제거한 다음 마지막으로 권한 테이블을 다시 로드해야 합니다.
PHP 및 PHP-FPM 설치 및 구성
PHP-FPM(PHP FastCGI Process Manager의 약어)은 몇 가지 추가 기능을 갖춘 PHP용 대체 FastCGI 데몬입니다. 높은 하중을 처리하도록 설계되었습니다. 이를 달성하기 위해 풀(PHP 요청에 응답할 수 있는 작업자)을 유지관리합니다. 중요한 것은 다중 사용자 PHP 환경의 경우 SUPHP와 같은 기존 CGI 기반 방법보다 빠릅니다.
필요한 모듈과 함께 PHP 및 PHP-FPM을 설치하려면 다음 명령을 실행하세요.
sudo zypper install php php-mysql php-fpm php-gd php-mbstring
PHP-FPM 서비스 시작을 진행하기 전에 설치 중에 제공된 기본 파일에서 필요한 구성 파일을 생성하고 서비스 작동 준비를 구성해야 합니다.
sudo cp /etc/php7/fpm/php-fpm.conf.default /etc/php7/fpm/php-fpm.conf
sudo cp /etc/php7/fpm/php-fpm.d/www.conf.default /etc/php7/fpm/php-fpm.d/www.conf
그런 다음 편집을 위해 기본 php-fpm.conf
구성 파일을 엽니다.
sudo vim /etc/php7/fpm/php-fpm.conf
표시된 대로 줄 번호 24에서 다음 줄의 주석 처리를 제거합니다.
error_log = log/php-fpm.log
파일을 저장하고 닫습니다.
다음으로 www.conf
구성 파일에 구성된 풀에 대한 올바른 설정을 정의해야 합니다.
sudo vim /etc/php7/fpm/php-fpm.d/www.conf
먼저 프로세스의 Unix 소유자 및 그룹 소유자를 Nginx 사용자 및 그룹으로 구성합니다. 사용자 및 그룹 매개변수 값을 nobody
에서 nginx
로 변경하면 됩니다.
user = nginx
group = nginx
이제 파일의 변경 사항을 저장하고 종료합니다.
또한 /etc/php/cli/php.ini
파일에서 PHP-FPM을 보호하는 중요한 구성이 하나 더 있습니다.
sudo vim /etc/php7/cli/php.ini
;cgi.fix_pathinfo=1
줄을 검색하여 다음으로 변경하세요.
cgi.fix_pathinfo=0
파일의 변경 사항을 저장하고 종료합니다.
그런 다음 지금은 PHP-FPM 서비스를 시작한 다음 부팅 시 자동 시작되도록 활성화하고 상태를 확인합니다.
sudo systemctl start php-fpm
sudo systemctl enable php-fpm
sudo systemctl status php-fpm
PHP-FPM과 함께 작동하도록 Nginx 구성
이제 기본 Nginx 구성 파일에서 PHP-FPM과 함께 작동하도록 Nginx를 구성해야 합니다.
sudo vim /etc/nginx/nginx.conf
그런 다음 다음 섹션을 찾아 예상 인덱스 파일 목록에 index.php
를 추가하세요.
location / {
root /srv/www/htdocs/;
index index.php index.html index.htm ;
}
또한 다음 섹션(주석 처리해야 함)을 찾아 주석 처리를 제거하십시오. 이 섹션은 127.0.0.1:9000을 수신하는 FastCGI 서버에 PHP 스크립트를 전달하는 데 사용됩니다.
location ~ \.php$ {
root /srv/www/htdocs/;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
파일의 변경 사항을 저장하고 종료합니다.
Nginx 및 PHP-FPM 테스트
다음 단계는 다음과 같이 DocumentRoot 디렉토리에 새 PHP 테스트 파일을 생성하여 PHP-FPM과 함께 Nginx가 제대로 작동하는지 테스트하는 것입니다. 표시됩니다.
echo "<?php phpinfo(); ?>" | sudo tee /srv/www/htdocs/info.php
이제 서비스를 다시 시작하기 전에 다음과 같이 Nginx 구성이 올바른지 확인해야 합니다.
sudo nginx -t
Nginx 구성 구문에 문제가 없으면 Nginx 및 PHP-FPM 서비스를 다시 시작하여 최근 변경 사항을 적용하세요.
sudo systemctl restart nginx php-fpm
이제 웹 브라우저를 열고 http://localhost/info.php
주소로 이동하여 다음 스크린샷과 같이 PHP 구성을 확인하세요.
PhpMyAdmin 설치 및 구성
phpMyAdmin은 웹을 통해 MySQL 서버를 관리하기 위해 구축된 PHP로 작성된 간단하고 사용하기 쉬우며 널리 사용되는 무료 도구입니다. MySQL 및 MariaDB에 대한 광범위한 작업을 지원합니다.
OpenSuse에 phpMyAdmin을 설치하려면 다음 명령을 실행하세요.
sudo zypper install phpMyAdmin
설치가 완료되면 표시된 대로 phpMyAdmin에 액세스하기 위한 새 가상 호스트 구성 파일을 생성합니다.
sudo vim /etc/nginx/vhosts.d/phpmyadmin.conf
다음 구성을 파일에 추가하십시오.
server {
listen 80;
server_name localhost/phpMyAdmin;
root /srv/www/htdocs/phpMyAdmin;
location / {
try_files $uri /index.php?$args;
}
location ~ \.php$ {
try_files $uri =404;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
include fastcgi_params;
}
}
변경 사항을 저장하고 파일을 닫습니다. 그런 다음 다음 명령을 사용하여 Nginx 서비스를 다시 시작하세요.
sudo systemctl restart nginx
이제 웹 브라우저로 이동하여 http://localhost/phpMyAdmin 주소를 입력하세요. phpMyAdmin 로그인 페이지는 다음 스크린샷과 같이 표시되어야 합니다. 데이터베이스 루트 사용자 로그인 자격 증명을 입력하고 이동을 클릭하세요.
그게 다야! 이 튜토리얼에서는 Nginx, MariaDB, PHP, LEMP 스택을 설치하는 방법을 설명했습니다. OpenSuse 서버/데스크톱 버전의 Strong>PHP-FPM 및 PhpMyAdmin. 설정 중에 문제가 발생하는 경우 아래 의견 양식을 통해 질문하세요.