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
-설치
wget -P /root/src http://nginx.org/download/nginx-1.20.1.tar.gz
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 설치
wget -P /root/src https://www.php.net/distributions/php-8.0.12.tar.gz
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
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
'On-premise > Nginx' 카테고리의 다른 글
| Centos 7.9 + Nginx 1.23.0 + MariaDB 10.3.36 + Tomcat 8.5.29.0 + Java 1.8.0 (0) | 2023.11.06 |
|---|---|
| NginX 1.9.9 + MriaDB 10.1.25 + PHP 7.1.8 (0) | 2023.11.06 |
| CentOS 7.3 + NginX 1.9.9 + MriaDB 10.1.25 + PHP 7.1.8 (0) | 2023.11.06 |
| Nginx (0) | 2023.11.06 |
| Nginx 인증서 설정 (0) | 2023.11.06 |