1)Maria DB 설치
 
-기존 DB 중지
[root@cobuy-0987(112.175.117.7) ~]# /opt/mysql/support-files/mysql.server stop
Shutting down MariaDB. SUCCESS!
 
-기존 DB 백업
[root@cobuy-0987(112.175.117.7) /opt]# mv mysql mysql_20211117
[root@cobuy-0987(112.175.117.7) /opt]# ll | grep mysql_20211117
drwxr-xr-x. 14 mysql    mysql    4096 2019-11-06 15:33 mysql_20211117
 
-설치
 
yum -y install cmake ncurses-devel openssl-devel
 
cd /root/src; tar xvzf mariadb-10.6.5.tar.gz; cd mariadb-10.6.5
 
cmake -DCMAKE_INSTALL_PREFIX=/opt/mysql -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DMYSQL_DATADIR=/opt/mysql/var -DWITH_PERFSCHEMA_STORAGE_ENGINE=1 -DWITH_PARTITION_STORAGE_ENGINE=1 -DWITH_FEDERATEDX_STORAGE_ENGINE=1 -DWITH_ARIA_STORAGE_ENGINE=1 -DWITH_XTRADB_STORAGE_ENGINE=1 -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DENABLED_LOCAL_INFILE=1 -DWITH_EXTRA_CHARSETS=all -DWITH_READLINE=1 -DWITH_SSL=system -DWITH_ZLIB=system
 
make -j `grep processor /proc/cpuinfo | wc -l`; make install
 
useradd -M -s /bin/false mysql
 
chown -R mysql.mysql /opt/mysql
 
/opt/mysql/scripts/mysql_install_db --user=mysql --basedir=/opt/mysql --datadir=/opt/mysql/var
 
/opt/mysql/support-files/mysql.server start
 
[root@cobuy-0987(112.175.117.7) ~]# netstat -tnlp | grep 3306
tcp        0      0 0.0.0.0:3306            0.0.0.0:*               LISTEN      5081/mariadbd       
tcp6       0      0 :::3306                 :::*                    LISTEN      5081/mariadbd
 
[root@cobuy-0987(112.175.117.7) ~]# /opt/mysql/bin/mysql -V
/opt/mysql/bin/mysql  Ver 15.1 Distrib 10.6.5-MariaDB, for Linux (x86_64) using readline 5.1
 
 
 
2)Nginx 설치
 
-기존 nginx 중지
[root@cobuy-0987(112.175.117.7) ~]# service nginx stop
Redirecting to /bin/systemctl stop nginx.service
 
-기존 nginx 백업
[root@cobuy-0987(112.175.117.7) /etc/nginx]# cd /etc/
[root@cobuy-0987(112.175.117.7) /etc]# mv nginx nginx_20211117
 
[root@cobuy-0987(112.175.117.7) /etc]# ll | grep nginx_20211117
drwxr-xr-x   3 root root     4096 2020-12-24 15:09 nginx_20211117
 
-설치
 
yum install pcre*.x86_64 geoip-devel libxslt-devel perl-ExtUtilsEmbed
yum install perl-ExtUtils-Embed
 
-openssl 소스설치
ㄴ nginx 소스설치시, openssl 을 수동으로 설치후 해당 경로를 잡아줘야 함
ㄴ /opt/openssl-1.0.2f 는 삭제 하면 안됨
cd /opt
tar -zxf openssl-1.0.2f.tar.gz
 
cd /root/src; tar xvzf nginx-1.20.1.tar.gz; cd nginx-1.20.1
 
./configure \
--prefix=/opt/nginx \
--conf-path=/opt/nginx/conf/nginx.conf \
--error-log-path=/opt/nginx/logs/error.log \
--http-log-path=/opt/nginx/logs/access.log \
--user=nginx \
--group=nginx \
--with-file-aio \
--with-http_ssl_module \
--with-http_v2_module \
--with-http_realip_module \
--with-http_addition_module \
--with-http_xslt_module \
--with-http_image_filter_module \
--with-http_geoip_module \
--with-http_sub_module \
--with-http_dav_module \
--with-http_flv_module \
--with-http_mp4_module \
--with-http_gunzip_module \
--with-http_gzip_static_module \
--with-http_random_index_module \
--with-http_secure_link_module \
--with-http_degradation_module \
--with-http_slice_module \
--with-http_stub_status_module \
--with-http_perl_module \
--with-mail \
--with-mail_ssl_module \
--with-pcre \
--with-pcre-jit \
--with-stream \
--with-stream_ssl_module \
--with-openssl=/opt/openssl-1.0.2f  \
--with-debug \
--with-http_perl_module
 
 
make
 
make install
 
-nginx 구문 이상여부 확인
[root@cobuy-0987(112.175.117.7) ~]# /opt/nginx/sbin/nginx -t
nginx: the configuration file /opt/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /opt/nginx/conf/nginx.conf test is successful
 
-nginx 실행
[root@cobuy-0987(112.175.117.7) ~]# /opt/nginx/sbin/nginx
 
-nginx 중지
[root@cobuy-0987(112.175.117.7) /opt/nginx/sbin]# ./nginx -s stop
 
-nginx 재시작
/opt/nginx/sbin/nginx -s reload
 
-nginx 프로세스 확인
[root@cobuy-0987(112.175.117.7) ~]# ps -ef | grep nginx
root     14710     1  0 00:02 ?        00:00:00 nginx: master process /opt/nginx/sbin/nginx
nginx    14711 14710  0 00:02 ?        00:00:00 nginx: worker process
root     14734 10574  0 00:02 pts/0    00:00:00 grep --color=auto nginx
 
-nginx 서비스 오픈 확인
[root@cobuy-0987(112.175.117.7) ~]# netstat -tnlp | grep nginx
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      14710/nginx: master
 
-nginx 버전 확인
[root@cobuy-0987(112.175.117.7) ~]# /opt/nginx/sbin/nginx -v
nginx version: nginx/1.20.1
 
 
 
3)Php 설치
 
 
 
yum -y install -y pcre-devel lua-devel libxml2-devel ncurses-devel zlib zlib-devel openssl openssl-devel libtermcap-devel libc-client-devel bison gcc g++ cpp gcc-c++ freetype freetype-devel freetype-utils gd gd-devel libjpeg libjpeg-devel libpng libpng-devel curl curl-devel flex php-mbstring libexif-devel libtool gdbm-devel libmcrypt libmcrypt-devel bzip2 bzip2-devel libXpm-devel xorg-x11-devel
 
yum -y install epel-release php-mcrypt libmcrypt-devel gmp-devel
 
cd /root/src; tar xvzf php-8.0.12.tar.gz; cd php-8.0.12
 
./configure \
--prefix=/opt/php \
--with-mysql=/opt/mysql \
--with-mysqli=/opt/mysql/bin/mysql_config \
--with-pdo-mysql=/opt/mysql \
--with-gd \
--with-curl \
--with-jpeg-dir=/usr \
--with-freetype-dir=/usr \
--with-png-dir=/usr \
--with-xpm-dir=/usr \
--with-zlib \
--with-zlib-dir=/usr \
--with-gdbm \
--with-gettext \
--with-iconv \
--with-openssl=/opt/openssl-1.0.2f \
--with-libxml-dir=/usr/lib \
--with-bz2 \
--with-mcrypt \
--with-fpm-user=nobody \
--with-fpm-group=nobody \
--enable-zip \
--enable-gd-native-ttf \
--enable-exif \
--enable-magic-quotes \
--enable-sockets \
--enable-soap \
--enable-mbstring=all \
--enable-bcmath \
--enable-ftp \
--enable-fpm
 
make -j `grep processor /proc/cpuinfo | wc -l`; make install
 
cp -a php.ini-production /opt/php/lib/
 
mv /opt/php/lib/php.ini-production /opt/php/lib/php.ini
 
perl -i -pe "s/memory_limit = 128M/memory_limit = 32768M/g" /opt/php/lib/php.ini
perl -i -pe "s/upload_max_filesize = 2M/upload_max_filesize = 20M/g" /opt/php/lib/php.ini
perl -i -pe "s/allow_url_fopen = On/allow_url_fopen = Off/g" /opt/php/lib/php.ini
perl -i -pe "s/post_max_size = 8M/post_max_size = 20M/g" /opt/php/lib/php.ini
perl -i -pe "s/short_open_tag = Off/short_open_tag = On/g" /opt/php/lib/php.ini
perl -i -pe "s/allow_url_fopen = On/allow_url_fopen = Off/g" /opt/php/lib/php.ini
perl -i -pe "s/;date.timezone =/date.timezone = Asia\/Seoul/g" /opt/php/lib/php.ini
perl -i -pe "s/upload_max_filesize = 2M/upload_max_filesize = 20M/g" /opt/php/lib/php.ini
perl -i -pe "s/post_max_size = 8M/post_max_size = 20M/g" /opt/php/lib/php.ini
perl -i -pe "s/max_file_uploads = 20/max_file_uploads = 30/g" /opt/php/lib/php.ini
 
mv /opt/php/etc/php-fpm.conf.default /opt/php/etc/php-fpm.conf
mv /opt/php/etc/php-fpm.d/www.conf.default /opt/php/etc/php-fpm.d/www.conf
 
vim /opt/php/etc/php-fpm.d/www.conf
security.limit_extensions = .php .php3 .php4 .php5 .php7 .html .htm (주석해제)
php-fpm 구동 스크립트 생성(아래)
 
-php-fpm 실행
[root@cobuy-0987(112.175.117.7) ~]# /opt/nginx/php-fpm start
Starting php-fpm  done
 
-php-fpm 프로세스 확인
[root@cobuy-0987(112.175.117.7) ~]# ps -ef | grep php
root     11086     1  0 01:40 ?        00:00:00 php-fpm: master process (/opt/php/etc/php-fpm.conf)
nobody   11087 11086  0 01:40 ?        00:00:00 php-fpm: pool www
nobody   11088 11086  0 01:40 ?        00:00:00 php-fpm: pool www
root     11204 10574  0 01:42 pts/0    00:00:00 grep --color=auto php
 
-php-fpm 서비스 오픈 확인
[root@cobuy-0987(112.175.117.7) ~]# netstat -tnlp | grep php
tcp        0      0 127.0.0.1:9000          0.0.0.0:*               LISTEN      11086/php-fpm: mast
 
-php 버전확인
[root@cobuy-0987(112.175.117.7) ~]# /opt/php/bin/php -v
PHP 8.0.12 (cli) (built: Nov 18 2021 00:26:13) ( NTS )
Copyright (c) The PHP Group
Zend Engine v4.0.12, Copyright (c) Zend Technologies
 
 
 
 
-구동스크립트
#! /bin/sh
 
### BEGIN INIT INFO
# Provides:          php-fpm
# Required-Start:    $remote_fs $network
# Required-Stop:     $remote_fs $network
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: starts php-fpm
# Description:       starts the PHP FastCGI Process Manager daemon
### END INIT INFO
 
prefix=/usr/local/lib/php
exec_prefix=${prefix}
 
php_fpm_BIN=/opt/php/sbin/php-fpm
php_fpm_CONF=/opt/php/etc/php-fpm.conf
php_fpm_PID=/opt/php/var/run/php-fpm.pid
 
 
php_opts="--fpm-config $php_fpm_CONF --pid $php_fpm_PID"
 
 
wait_for_pid () {
        try=0
 
        while test $try -lt 35 ; do
 
                case "$1" in
                        'created')
                        if [ -f "$2" ] ; then
                                try=''
                                break
                        fi
                        ;;
 
                        'removed')
                        if [ ! -f "$2" ] ; then
                                try=''
                                break
                        fi
                        ;;
                esac
 
                echo -n .
                try=`expr $try + 1`
                sleep 1
 
        done
 
}
 
case "$1" in
        start)
                echo -n "Starting php-fpm "
 
                $php_fpm_BIN --daemonize $php_opts
 
                if [ "$?" != 0 ] ; then
                        echo " failed"
                        exit 1
                fi
 
                wait_for_pid created $php_fpm_PID
 
                if [ -n "$try" ] ; then
                        echo " failed"
                        exit 1
                else
                        echo " done"
                fi
        ;;
 
        stop)
                echo -n "Gracefully shutting down php-fpm "
 
                if [ ! -r $php_fpm_PID ] ; then
                        echo "warning, no pid file found - php-fpm is not running ?"
                        exit 1
                fi
 
                kill -QUIT `cat $php_fpm_PID`
                                                                                                                  82,3-17       Top
 
                kill -QUIT `cat $php_fpm_PID`
 
                wait_for_pid removed $php_fpm_PID
 
                if [ -n "$try" ] ; then
                        echo " failed. Use force-quit"
                        exit 1
                else
                        echo " done"
                fi
        ;;
 
        force-quit)
                echo -n "Terminating php-fpm "
 
                if [ ! -r $php_fpm_PID ] ; then
                        echo "warning, no pid file found - php-fpm is not running ?"
                        exit 1
                fi
 
                kill -TERM `cat $php_fpm_PID`
 
                wait_for_pid removed $php_fpm_PID
 
                if [ -n "$try" ] ; then
                        echo " failed"
                        exit 1
                else
                        echo " done"
                fi
        ;;
 
        restart)
                $0 stop
                $0 start
        ;;
 
        reload)
 
                echo -n "Reload service php-fpm "
 
                if [ ! -r $php_fpm_PID ] ; then
                        echo "warning, no pid file found - php-fpm is not running ?"
                        exit 1
                fi
 
                kill -USR2 `cat $php_fpm_PID`
 
                echo " done"
        ;;
 
        *)
                echo "Usage: $0 {start|stop|force-quit|restart|reload}"
                exit 1
        ;;
 
esac

+ Recent posts