1) MriaDB 10.1.25 설치
wget -P /root/src/ http://ftp.kaist.ac.kr/mariadb/mariadb-10.1.25/source/mariadb-10.1.25.tar.gz
yum -y install cmake ncurses-devel openssl-devel
cmake -DCMAKE_INSTALL_PREFIX=/opt/mariadb -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DMYSQL_DATADIR=/opt/mariadb/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/mariadb
/opt/mariadb/scripts/mysql_install_db --user=mysql --basedir=/opt/mariadb --datadir=/opt/mariadb/var
/opt/mariadb/support-files/mysql.server start
2) NginX 1.9.9 설치
wget -P /root/src/ http://nginx.org/download/nginx-1.9.9.tar.gz
./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 --with-http_ssl_module --with-http_gzip_static_module --with-http_stub_status_module --with-http_realip_module --with-pcre --user=daemon --group=daemon
make -j `grep processor /proc/cpuinfo | wc -l`; make install
nginx 구동 스크립트 생성
nginx.conf 수정
/opt/nginx/nginx start
3) PHP 7.1.8 설치
wget -P /root/src/ http://kr1.php.net/distributions/php-7.1.8.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
./configure \
--prefix=/opt/php \
--with-mysql=/opt/mariadb \
--with-mysqli=/opt/mariadb/bin/mysql_config \
--with-pdo-mysql=/opt/mariadb \
--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 \
--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/
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 구동 스크립트 생성
/opt/nginx/php-fpm start
구동스크립트 :
#! /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=/usr/local/sbin/php-fpm
php_fpm_CONF=/usr/local/etc/php-fpm.conf
php_fpm_PID=/usr/local/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 |
| Nginx (0) | 2023.11.06 |
| Nginx 인증서 설정 (0) | 2023.11.06 |
| Centos 7.7 + Nginx 1.20.1 + MariaDB 10.6.5 + PHP 8.0.12 (0) | 2023.11.05 |