반응형
[ 설치 환경 ]
OS | Centos 7.6 |
Nginx 1.18 | |
PHP 7.3.5 |
|
MySQL 5.7.26 |
3. Nginx 설치
Nginx 설치 링크 : http://nginx.org/download/
wget 뒤에 해당 링크 주소 복사하시면 됩니다.
해당 링크주소는 시간이 지나면 변하기 때문에 직접 들어가서 다운로드하시는 걸 추천드립니다.
mkdir /root/src/
cd /root/src
wget http://nginx.org/download/nginx-1.18.0.tar.gz
tar xvfz nginx-1.18.0.tar.gz
cd nginx-1.18.0
3-1. Nginx 컴파일
./configure --prefix=/opt/nginx --conf-path=/opt/nginx/conf/nginx.conf --sbin-path=/opt/nginx/sbin/nginx --lock-path=/opt/nginx/nginx.lock --pid-path=/opt/nginx/nginx.pid --http-client-body-temp-path=/opt/nginx/tmp/body --http-proxy-temp-path=/optl/nginx/tmp/proxy --http-fastcgi-temp-path=/opt/nginx/tmp/fastcgi --http-uwsgi-temp-path=/optl/nginx/tmp/uwsgi --http-scgi-temp-path=/opt/nginx/tmp/scgi --http-log-path=/opt/nginx/logs/access.log --error-log-path=/opt/nginx/logs/error.log --with-http_addition_module --with-http_degradation_module --with-http_flv_module --with-http_image_filter_module --with-http_mp4_module --with-http_random_index_module --with-http_ssl_module --with-http_stub_status_module --with-http_sub_module --with-http_realip_module --with-http_xslt_module --with-http_dav_module --with-http_auth_request_module --user=nginx --group=nginx
3-2. Nginx 설치
make -j `grep processor /proc/cpuinfo | wc -l`; make install
위에 내용은 아래의 내용 참고 부탁드립니다.
make는 소스를 컴파일하는 명령어입니다.
컴파일이란 것은 소스파일을 사용자가 실행 가능한 파일로 만들어 주는 과정입니다.
make install은 make를 통해 만들어진 설치 파일(setup)을 설치를 하는 과정입니다.
빠른 설치를 위해, CPU 사용을 MySQL사용에 집중적으로 설치할수 있도록 해당 명령어를 이용했습니다.
-j : 옵션의 경우 job을 분산시킨다
CPU 코어가 4개라면 , 한 번에 수행할수 있는 명령을 -J4으로 지정하여, 프로세스가 4개가 생성되어 병렬로 수행합니다. 명령수는 프로세스수로 정의
3-3. Nginix / start / stop /restart 스크립트 생성
nginx소스에는 시작,중지 등의 스크립트가 없다
cd /opt/nginx
touch nginx
vim nginx
#!/bin/sh
#
# nginx - this script starts and stops the nginx daemon
#
# chkconfig: - 85 15
# description: NGINX is an HTTP(S) server, HTTP(S) reverse \
# proxy and IMAP/POP3 proxy server
# processname: nginx
# config: /etc/nginx/nginx.conf
# config: /etc/sysconfig/nginx
# pidfile: /var/run/nginx.pid
# Source function library.
. /etc/rc.d/init.d/functions
# Source networking configuration.
. /etc/sysconfig/network
# Check that networking is up.
[ "$NETWORKING" = "no" ] && exit 0
nginx="/opt/nginx/sbin/nginx"
prog=$(basename $nginx)
NGINX_CONF_FILE="/opt/nginx/conf/nginx.conf"
[ -f /etc/sysconfig/nginx ] && . /etc/sysconfig/nginx
lockfile=/var/lock/subsys/nginx
make_dirs() {
# make required directories
user=`$nginx -V 2>&1 | grep "configure arguments:.*--user=" | sed 's/[^*]*--user=\([^ ]*\).*/\1/g' -`
if [ -n "$user" ]; then
if [ -z "`grep $user /etc/passwd`" ]; then
useradd -M -s /bin/nologin $user
fi
options=`$nginx -V 2>&1 | grep 'configure arguments:'`
for opt in $options; do
if [ `echo $opt | grep '.*-temp-path'` ]; then
value=`echo $opt | cut -d "=" -f 2`
if [ ! -d "$value" ]; then
# echo "creating" $value
mkdir -p $value && chown -R $user $value
fi
fi
done
fi
}
start() {
[ -x $nginx ] || exit 5
[ -f $NGINX_CONF_FILE ] || exit 6
make_dirs
echo -n $"Starting $prog: "
daemon $nginx -c $NGINX_CONF_FILE
retval=$?
echo
[ $retval -eq 0 ] && touch $lockfile
echo
[ $retval -eq 0 ] && touch $lockfile
return $retval
}
stop() {
echo -n $"Stopping $prog: "
killproc $prog -QUIT
retval=$?
echo
[ $retval -eq 0 ] && rm -f $lockfile
return $retval
}
restart() {
configtest || return $?
stop
sleep 1
start
}
reload() {
configtest || return $?
echo -n $"Reloading $prog: "
killproc $prog -HUP
retval=$?
echo
}
force_reload() {
restart
}
configtest() {
$nginx -t -c $NGINX_CONF_FILE
}
rh_status() {
status $prog
}
rh_status_q() {
rh_status >/dev/null 2>&1
}
case "$1" in
start)
rh_status_q && exit 0
$1
;;
stop)
rh_status_q || exit 0
$1
;;
restart|configtest)
$1
;;
reload)
rh_status_q || exit 7
$1
;;
force-reload)
force_reload
;;
status)
rh_status
;;
condrestart|try-restart)
rh_status_q || exit 0
;;
*)
echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload|configtest}"
exit 2
esac
chmod +x nginx
/opt/nginx/nginx start
3-4. 방화벽 설정
Centos 7 기본 방화벽은 firewall 입니다.
웹서버를 외부에서 웹브라우저로 접속하기 위해서는 TCP 80 포트를 방화벽에서 열어줘야만 한다.
# 추가
firewall-cmd --permanent --zone=public --add-port=80/tcp
# 적용
firewall-cmd --reload
# 확인
firewall-cmd --list-all
public (active)
target: default
icmp-block-inversion: no
interfaces: eno1
sources:
services: ssh dhcpv6-client
ports: 80/tcp
protocols:
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:
3-5. nginx 실행
/opt/nginx/nginx start
Starting nginx: [ OK ]
3-6. nginx 버전 확인
/opt/nginx/sbin/nginx -v
nginx version: nginx/1.18.0
여기까지 설정했다면 Nginx 웹서버 설치가 완료되었습니다.
이제 브라우저를 실행해 주소창에 IP를 입력하시면 Welcome to nginx! 라는 텍스트 문구가 나올겁니다.
이로서, Nginx 설치 완료되었습니다.
다음장에는 이어서 PHP 설치 진행하겠습니다.
반응형
'IT > Linux' 카테고리의 다른 글
CentOS Ioncube 설치 (0) | 2021.02.21 |
---|---|
Nginx + PHP + MySQL 소스 설치 (3) (0) | 2021.02.13 |
Nginx + PHP + MySQL 소스 설치 (1) (0) | 2021.02.13 |
리눅스 CentOS 7 설치 (0) | 2021.02.13 |
Ubuntu 18.04 LTS 서버버전 설치 (0) | 2021.01.31 |
최근댓글