[Ubuntu] 14. WEB(Apache) + WAS(PHP) + DB(MariaDB)

Date:     Updated:

카테고리:

태그:


01) WEB 구성요소


236680735-c341b29a-4fac-4a36-9c16-be8e08b58fd0

구성요소 설명
WEB 서버 정적인 컨텐츠(문자, 그림, 오디오, 비디오 등)를 처리하는 서버
WAS 서버 동적인 컨텐츠(사용자의 입력 값을 기반으로 프로그램의 동작이 달라 짐)를 처리하는 서버
DB 서버 데이터베이스를 생성, 관리, 사용, 제어하는 서버


02) 서버 정보


02dasewq

php-fpm 01


03) 서버 구성



a) WEB Server - Apache install and configuration

# /etc/hosts에 서버 IP 주소 정보 추가
$ cat <<EOF >> /etc/hosts

192.168.219.100 web
192.168.219.111 was01
192.168.219.200 db
EOF
# Apache 설치
add-apt-repository ppa:ondrej/apache2 -y; apt update; apt -y upgrade

apt -y install apache2 \
libapache2-mod-fcgid libapache2-mod-proxy-uwsgi \
libapache2-mod-xforward openssl
vim /etc/apache2/sites-available/000-default.conf

<VirtualHost *:80>

        ServerAdmin webmaster@localhost
        DocumentRoot /var/www/html

        # WAS 서버를 2대 이상 사용하고 분산하고 싶을 때
        #<Proxy "balancer://myappcluster/">
        #        BalancerMember "fcgi://was01:9000" route=1
        #        BalancerMember "fcgi://was02:9000" route=2
        #        ProxySet stickysession=ROUTEID
        #</Proxy>

        #<FilesMatch "\.php$">
        #        SetHandler "proxy:balancer://myappcluster/"
        #</FilesMatch>

        <FilesMatch ".+\.ph(ar|p|tml)$">
		    SetHandler "proxy:fcgi://was01:9000"
        </FilesMatch>

        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined

</VirtualHost>
a2enmod fcgid 
a2enmod proxy_fcgi
a2enmod proxy_balancer
a2enmod lbmethod_byrequests
systemctl restart apache2; systemctl enable apache2; systemctl status apache2


b) WAS Server - PHP-FPM install and configuration

cat <<EOF >> /etc/hosts

192.168.219.100 web
192.168.219.111 was01
192.168.219.112 was02
192.168.219.200 db
EOF
# 설치
apt-get -y install software-properties-common 

add-apt-repository ppa:ondrej/php

apt update

apt-get install php7.3 -y

apt-get install php7.3-bcmath php7.3-bz2 php7.3-cgi php7.3-cli php7.3-common php7.3-curl php7.3-dba php7.3-dev php7.3-enchant php7.3-fpm php7.3-gd php7.3-gmp php7.3-imap php7.3-interbase php7.3-intl php7.3-json php7.3-ldap php7.3-mbstring php7.3-mysql php7.3-mysqlnd php7.3-odbc php7.3-opcache php7.3-pgsql php7.3-phpdbg php7.3-pspell php7.3-readline  php7.3-recode php7.3-snmp php7.3-soap php7.3-sqlite3 php7.3-sybase php7.3-tidy php7.3-xml php7.3-xmlrpc php7.3-zip  php7.3-xsl  -y
# 설정 01
vi /etc/php/7.3/fpm/php.ini

date.timezone = Asia/Seoul

# 설정 02
vi /etc/php/7.3/cli/php.ini

date.timezone = Asia/Seoul

# 설정 03
vim /etc/php/7.3/fpm/pool.d/www.conf

listen = 9000
listen.allowed_clients = 192.168.219.100
# 서비스 재시작/활성화/확인
systemctl restart php7.3-fpm; systemctl enable php7.3-fpm; systemctl status php7.3-fpm
# 테스트 php 파일 생성
mkdir -p  /var/www/html/
cat <<EOF >>  /var/www/html/info.php
<?php phpinfo(); ?>
EOF


b-1) 결과 확인

588


c) DB Server - MariaDB Install

cat <<EOF >> /etc/hosts

192.168.219.100 web
192.168.219.111 was01
192.168.219.112 was02
192.168.219.200 db
EOF
apt -y update

apt -y install mariadb-server
sed -i "s/bind-address            = 127.0.0.1/bind-address            = 0.0.0.0/g" /etc/mysql/mariadb.conf.d/50-server.cnf

systemctl restart mysql; systemctl enable mysql; systemctl status mysql
# DB 설정
mysql_secure_installation
mysql -u root -p

create database test;

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'PASSWORD';

exit;


d) WAS Server - DB connection check

cat <<EOF >> /var/www/html/dbtest.php
<?php
    \$host = '192.168.219.200';
    \$user = 'root';
    \$pw = '1234';
    \$dbName = 'test';
    \$mysqli = new mysqli(\$host, \$user, \$pw, \$dbName);
 
    if(\$mysqli){
        echo "MySQL 접속 성공";
    }else{
        echo "MySQL 접속 실패";
    }
?>
EOF


d-1) 결과 확인

dasdeqweq

UBUNTU 카테고리 내 다른 글 보러가기

댓글 남기기