[서버설치] How to Install PHP 7, NGINX, MySQL on CentOS/RHEL 7.6

KT Cloud CentOS 7.6을 선택하여 만들어진 클라우드 서버에 설치하는 방법입니다.

외국 사이트에 있는 내용 그대로 입력하니 동작을 잘 하네요. ^.^

==> https://tecadmin.net/install-php-7-nginx-mysql-5-on-centos/

를 참고하세요.

Step 1 – Setup Yum Repository

In the first step install all the required yum repositories in your system used in the remaining tutorial for various installations. You are adding REMI, EPEL, Webtatic & MySQL community server repositories in your system.

CentOS / RHEL 7

yum install epel-release
rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
rpm -Uvh http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm

CentOS / RHEL 6

yum install epel-release
rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
rpm -Uvh http://repo.mysql.com/mysql-community-release-el6-5.noarch.rpm

Step 2 – Install PHP 7

Now install PHP 7 packages from remi-php72 rpm repository using the following command.

yum --enablerepo=remi-php72 install php

Now install required php modules. Use following command to list available modules in yum repositories.

yum --enablerepo=remi-php72 search php

Now check all listed modules in above command and install required modules like below.

yum --enablerepo=remi-php72 install php-mysql php-xml \
php-soap php-xmlrpc php-mbstring php-json php-gd php-mcrypt

Step 3 – Install NGINX

NGINX is the popular web server used on Linux systems. Let’s install the Nginx web server using the following command on your system.

yum install nginx

Now start nginx service and enable to start on boot using below commands.

systemctl enable nginx.service
systemctl start nginx.service

Step 4 – Install MySQL 5.6

In step 1 we already have installed required yum repository in your system. Lets use following command to install MySQL server on your system.

yum install mysql-server

You need to execute mysql_secure_installation once after installation of MySQL server using following command. First it will prompt to set a password for root account, after that ask few questions, I suggest to say yes ( y ) for all.

systemctl start mysqld.service
mysql_secure_installation
**** mysql_secure_installation로 검색하면 다른 게시물에 설정한 내용이 있음.

Now restart MySQL service and enable to start on system boot.

systemctl restart mysqld.service
systemctl enable mysqld.service

Step 5 – Setup PHP-FPM

Now use following command to install php7 fpm package using following command.

yum --enablerepo=remi-php72 install php-fpm

Step 6 – Create Nginx VirtualHost

Finally do the configuration of Nginx VirtualHost. For this example we are editing default configuration file.

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

and make changes as below.

server {
        listen   80;

        root /var/www;
        index index.php index.html index.htm;
        server_name  example.com www.example.com;

        location / {
                try_files $uri $uri/ /index.html;
        }

        error_page 404 /404.html;
        error_page 500 502 503 504 /50x.html;
        location = /50x.html {
              root /usr/share/nginx/www;
        }

        location ~ .php$ {
                try_files $uri =404;
                fastcgi_pass 127.0.0.1:9000;
                fastcgi_index index.php;
                fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
                include fastcgi_params;
        }
}

You have to do the same changes in all Virtual Hosts configured.

Step 7 – Restart Services

After installing all services on your system, start all required services.

systemctl restart nginx.service
systemctl restart php-fpm.service

Step 8. Open Port in Firewall

Finally open firewall ports for HTTP (80) and https (443) services using the following command.

firewall-cmd --permanent --zone=public --add-service=httpfirewall-cmd --permanent --zone=public --add-service=httpsfirewall-cmd --reload

Step 9. Verify Setup

Let’s check the installed versions of packages on system using following commands one by one.

# php -v

PHP 7.2.0 (cli) (built: Nov 28 2017 20:22:21) ( NTS )
Copyright (c) 1997-2017 The PHP Group
Zend Engine v3.2.0, Copyright (c) 1998-2017 Zend Technologies
# nginx -v

nginx version: nginx/1.12.2

Finally, verify the installation of PHP 7 with NGINX. Let’s create a file index.php on website document root using the following content.

Now browse this file in a web browser. It will so all the details about versions and installation.

Install PHP 7, NGINX & MySQL 5.6

0
0
이 글을 페이스북으로 퍼가기 이 글을 트위터로 퍼가기 이 글을 카카오스토리로 퍼가기 이 글을 밴드로 퍼가기
captcha
자동등록방지 숫자입력

웹개발

번호 제목 글쓴이 날짜 조회수
22 [리눅스] Apache Document Root 권한설정 최고관리자 09-04 1,909
21 [리눅스] CentOS Version 확인하기 최고관리자 09-04 1,721
20 [리눅스] MySQL 최초 접속 및 설정 최고관리자 09-03 2,008
19 [리눅스] MySQL 5.7 보안설정 최고관리자 09-03 1,795
18 [리눅스] RDate로 시간 동기화 하기. 최고관리자 09-03 1,711
17 [리눅스] 기본설치 (Apache , PHP , MySql) 최고관리자 09-03 2,269
16 [공부] 프로그래밍 공부 사이트 최고관리자 09-01 1,640
15 [기능] Mobile 메뉴 최고관리자 09-01 1,603
14 [기능] Mega Menu 최고관리자 09-01 1,645
13 [기능] 상단에서 메뉴높이가 높고 아래로 스크롤하면 메뉴높이가 줄어듦 최고관리자 09-01 1,660
12 [기능] 상단에 메뉴가 보이다가 아래로 스크롤하면 메뉴가 사라지고 상단으로 가면 메뉴가 보임. 최고관리자 09-01 1,588
11 [기능] 메뉴가 안 보이다가 아래로 스크롤하면 메뉴가 생김 최고관리자 09-01 1,690
10 [기능] Icon으로 구성된 수직/수평 메뉴 최고관리자 09-01 1,515
9 [JS] 자바스크립트 {...} [...] 문법 (비구조화 할당/구조분해 할당) 최고관리자 09-01 1,529
8 [기능] 상단의 높이가 큰 메뉴상태에서 아래로 스크롤하면 상단에 높이가 낮은 메뉴가 고정됨 최고관리자 09-01 1,537
7 [Font] Naversoftware 폰트 리스트 최고관리자 09-01 1,603
6 [Web Font] 직접입력해서 폰트를 확인할 수 있는 사이트 최고관리자 09-01 1,592
5 [CSS - font] unicode-range 최고관리자 08-31 1,822
4 [UI 참고] Oven - 회원가입 최고관리자 08-31 1,557
3 타자기체 - 가로 세로 비율이 고정되어 있는 글꼴로 표현 최고관리자 08-08 1,693