Nginx 레코드 1 - 기초 설치 관련
master 프로 세 스 는 주로 worker 프로 세 스 를 관리 하 는 데 사 용 됩 니 다. 구체 적 으로 다음 과 같은 네 가지 주요 기능 을 포함 합 니 다. (1) 외부 에서 온 신 호 를 받 습 니 다.(2) 각 워 커 프로 세 스에 신 호 를 보 냅 니 다.(3) woker 프로 세 스 의 운행 상 태 를 모니터링 합 니 다.(4) woker 프로 세 스 가 종료 되면 (이상 한 경우) 새로운 woker 프로 세 스 를 자동 으로 다시 시작 합 니 다.woker 프로 세 스 는 주로 네트워크 이 벤트 를 처리 하 는 데 사 용 됩 니 다. 각 woker 프로 세 스 는 대등 하고 독립 적 입 니 다. 클 라 이언 트 의 요청 과 같은 경쟁 을 합 니 다. 하나의 요청 은 하나의 woker 프로 세 스 에서 만 처리 할 수 있 습 니 다. woker 프로 세 스 의 개 수 는 보통 기계 CPU 핵 으로 설정 합 니 다.
참고 문헌
공식 문서 | 온라인 문서 설치 | 응용 인 스 턴 스 | 안전 인 스 턴 스 | Nginx 스 트림 제한 특기 역방향 에이전트 - proxybuffering
설치 과정
컴 파일 옵션: -- with - httpimage_filter_module = dynamic -- GD -- with - pcr - jit -- with - file - ao -- with - http 필요v2_module --with-http_realip_module --with-http_addition_module --with-http_xslt_module=dynamic --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_slice_module -- pcre JIT -- with - http 필요geoip_module = dynamic -- GeoIP GeoIP - devel 필요
컴 파일 매개 변수
--with-stream
TCP 에이전트 및 부하 균형 기능 지원
홈 페이지
오류 기록: 오류 기록 프로필 참조: 프로필 참조
기능: 1.0 - nginx 설치, sticky 모듈 컴 파일, service 서비스 추가
#!/bin/bash
nginxdir=/usr/local/nginx
nginxver=nginx-1.12.2
#funtion
nginx_init () {
curl -L https://raw.githubusercontent.com/mainiubaba/One/master/bash/nginx > /etc/init.d/nginx
if [ $? -eq '0' ];
then
chmod +x /etc/init.d/nginx
else
echo "add /etc/init.d/nginx filed."
exit
fi
}
if [ -d ${nginxdir} ];
then
echo "${nginxdir} directory exists"
else
mkdir ${nginxdir}
fi
#yum
yum -y install cmake make gcc gcc-c++ libevent nss zlib zlib-devel openssl openssl-devel glibc glibc-devel compat-expat1 glibc.i686 procps procmail ncurses-devel ncurses-libs ncurses-base ncurses libuuid-devel pcre pcre-devel libxslt libxml2 libxml2-devel gd-devel perl-ExtUtils-Embed perl-devel libxslt-devel
#wget tar
if [ -f ${nginxdir}/${nginxver}.tar.gz ];
then
rm -r ${nginxdir}/${nginxver}.tar.gz
rm -rf ${nginxdir}/${nginxver}
wget -P $nginxdir http://nginx.org/download/${nginxver}.tar.gz
else
wget -P $nginxdir http://nginx.org/download/${nginxver}.tar.gz
fi
wget -P $nginxdir https://bitbucket.org/nginx-goodies/nginx-sticky-module-ng/get/08a395c66e42.zip
#unzip
cd $nginxdir
tar -zxf nginx-1.12.2.tar.gz
unzip 08a395c66e42.zip
mv nginx-goodies-nginx-sticky-module-ng-08a395c66e42 nginx-sticky-module
#configure
cd ${nginxdir}/nginx-1.12.2
./configure \
--prefix=/usr/local/nginx/ \
--user=nginx \
--group=nginx \
--conf-path=/etc/nginx/nginx.conf \
--pid-path=/var/run/nginx.pid \
--error-log-path=/var/log/nginx/error.log \
--http-log-path=/var/log/nginx/access.log \
--with-http_stub_status_module \
--with-http_ssl_module \
--sbin-path=/usr/sbin/nginx \
--modules-path=/usr/lib64/nginx/modules \
--http-client-body-temp-path=/var/lib/nginx/tmp/client_body \
--http-proxy-temp-path=/var/lib/nginx/tmp/proxy \
--http-fastcgi-temp-path=/var/lib/nginx/tmp/fastcgi \
--http-uwsgi-temp-path=/var/lib/nginx/tmp/uwsgi \
--http-scgi-temp-path=/var/lib/nginx/tmp/scgi \
--lock-path=/var/lock/subsys/nginx \
--with-file-aio \
--with-http_v2_module \
--with-http_realip_module \
--with-http_addition_module \
--with-http_xslt_module=dynamic \
--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_slice_module \
--add-module=${nginxdir}/nginx-sticky-module
make -j 4
make install
if [ $? -eq '0' ];
then
nginx_init
fi
기능: 1.1 - nginx 설치, sticky 모듈 컴 파일, service 서비스 추가 (yum 설치
nginx -V
출력 매개 변수 추가)#!/bin/bash
nginxdir=/usr/local/nginx
nginxver=nginx-1.12.2
#funtion
nginx_init () {
curl -L https://raw.githubusercontent.com/mainiubaba/One/master/bash/nginx > /etc/init.d/nginx
if [ $? -eq '0' ];
then
chmod +x /etc/init.d/nginx
else
echo "add /etc/init.d/nginx filed."
exit
fi
}
if [ -d ${nginxdir} ];
then
echo "${nginxdir} directory exists"
else
mkdir ${nginxdir}
fi
#yum
yum -y install cmake make gcc gcc-c++ libevent nss zlib zlib-devel openssl openssl-devel glibc glibc-devel compat-expat1 glibc.i686 procps procmail ncurses-devel ncurses-libs ncurses-base ncurses libuuid-devel pcre pcre-devel libxslt libxml2 libxml2-devel gd-devel perl-ExtUtils-Embed perl-devel libxslt-devel GeoIP GeoIP-devel google-perftools google-perftools-devel
#wget tar
if [ -f ${nginxdir}/${nginxver}.tar.gz ];
then
rm -r ${nginxdir}/${nginxver}.tar.gz
rm -rf ${nginxdir}/${nginxver}
wget -P $nginxdir http://nginx.org/download/${nginxver}.tar.gz
else
wget -P $nginxdir http://nginx.org/download/${nginxver}.tar.gz
fi
wget -P $nginxdir https://bitbucket.org/nginx-goodies/nginx-sticky-module-ng/get/08a395c66e42.zip
#unzip
cd $nginxdir
tar -zxf nginx-1.12.2.tar.gz
unzip 08a395c66e42.zip
mv nginx-goodies-nginx-sticky-module-ng-08a395c66e42 nginx-sticky-module
#configure
cd ${nginxdir}/nginx-1.12.2
./configure \
--prefix=/usr/local/nginx/ \
--user=nginx \
--group=nginx \
--conf-path=/etc/nginx/nginx.conf \
--error-log-path=/var/log/nginx/error.log \
--http-log-path=/var/log/nginx/access.log \
--pid-path=/var/run/nginx.pid \
--http-client-body-temp-path=/var/lib/nginx/tmp/client_body \
--http-fastcgi-temp-path=/var/lib/nginx/tmp/fastcgi \
--http-proxy-temp-path=/var/lib/nginx/tmp/proxy \
--http-scgi-temp-path=/var/lib/nginx/tmp/scgi \
--http-uwsgi-temp-path=/var/lib/nginx/tmp/uwsgi \
--lock-path=/var/lock/subsys/nginx \
--modules-path=/usr/lib64/nginx/modules \
--sbin-path=/usr/sbin/nginx \
--with-debug \
--with-file-aio \
--with-google_perftools_module \
--with-http_addition_module \
--with-http_auth_request_module \
--with-http_dav_module \
--with-http_degradation_module \
--with-http_flv_module \
--with-http_geoip_module=dynamic \
--with-http_gunzip_module \
--with-http_gzip_static_module \
--with-http_image_filter_module=dynamic \
--with-http_mp4_module \
--with-http_perl_module=dynamic \
--with-http_random_index_module \
--with-http_realip_module \
--with-http_secure_link_module \
--with-http_slice_module \
--with-http_ssl_module \
--with-http_stub_status_module \
--with-http_sub_module \
--with-http_v2_module \
--with-http_xslt_module=dynamic \
--with-ipv6 \
--with-mail=dynamic \
--with-mail_ssl_module \
--with-pcre \
--with-pcre-jit \
--with-stream=dynamic \
--add-module=${nginxdir}/nginx-sticky-module
make -j 4
make install
if [ $? -eq '0' ];
then
nginx_init
fi
기능: 2.0 - nginx 설치, sticky 모듈 컴 파일, service 서비스 추가, modsecurity 모듈 컴 파일, owasp 규칙 추가
#!/bin/bash
nginxdir=/usr/local/nginx
nginxver=nginx-1.12.2
modsecurity_path=/etc/nginx
#funtion
nginx_init () {
curl -L https://raw.githubusercontent.com/mainiubaba/One/master/nginx > /etc/init.d/nginx
if [ $? -eq '0' ];
then
chmod +x /etc/init.d/nginx
else
echo "add /etc/init.d/nginx filed."
exit
fi
}
if [ -d ${nginxdir} ];
then
echo "${nginxdir} directory exists"
else
mkdir ${nginxdir}
fi
#yum
yum -y install cmake make gcc gcc-c++ libevent nss zlib zlib-devel openssl openssl-devel glibc glibc-devel compat-expat1 glibc.i686 procps procmail ncurses-devel ncurses-libs ncurses-base ncurses libuuid-devel pcre pcre-devel libxslt libxml2 libxml2-devel gd-devel perl-ExtUtils-Embed perl-devel libxslt-devel
#wget tar
if [ -f ${nginxdir}/${nginxver}.tar.gz ];
then
rm -r ${nginxdir}/${nginxver}.tar.gz
rm -rf ${nginxdir}/${nginxver}
wget -P $nginxdir http://nginx.org/download/${nginxver}.tar.gz
else
wget -P $nginxdir http://nginx.org/download/${nginxver}.tar.gz
fi
#wget sticky
wget -P $nginxdir https://bitbucket.org/nginx-goodies/nginx-sticky-module-ng/get/08a395c66e42.zip
#unzip
cd $nginxdir
tar -zxf nginx-1.12.2.tar.gz
unzip 08a395c66e42.zip
mv nginx-goodies-nginx-sticky-module-ng-08a395c66e42 nginx-sticky-module
#install modsecurity
if [ $? -eq '0' ];
then
yum install -y git gcc make automake autoconf libtool
yum install -y pcre pcre-devel libxml2 libxml2-devel curl curl-devel httpd-devel
if [ $? -eq '0' ];
then
cd ${nginxdir} && git clone https://github.com/SpiderLabs/ModSecurity.git mod_security
else
exit
fi
cd mod_security && \
chmod 777 autogen.sh && \
./autogen.sh && \
./configure --enable-standalone-module && \
make
fi
#configure
cd ${nginxdir}/nginx-1.12.2
./configure \
--prefix=/usr/local/nginx/ \
--user=nginx \
--group=nginx \
--conf-path=/etc/nginx/nginx.conf \
--pid-path=/var/run/nginx.pid \
--error-log-path=/var/log/nginx/error.log \
--http-log-path=/var/log/nginx/access.log \
--with-http_stub_status_module \
--with-http_ssl_module \
--sbin-path=/usr/sbin/nginx \
--modules-path=/usr/lib64/nginx/modules \
--http-client-body-temp-path=/var/lib/nginx/tmp/client_body \
--http-proxy-temp-path=/var/lib/nginx/tmp/proxy \
--http-fastcgi-temp-path=/var/lib/nginx/tmp/fastcgi \
--http-uwsgi-temp-path=/var/lib/nginx/tmp/uwsgi \
--http-scgi-temp-path=/var/lib/nginx/tmp/scgi \
--lock-path=/var/lock/subsys/nginx \
--with-file-aio \
--with-http_v2_module \
--with-http_realip_module \
--with-http_addition_module \
--with-http_xslt_module=dynamic \
--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_slice_module \
--add-module=${nginxdir}/nginx-sticky-module \
--add-module=${nginxdir}/mod_security/nginx/modsecurity
make -j 4
make install
if [ $? -eq '0' ];
then
nginx_init
fi
#install modsecurity owasp
cd ${nginxdir} && git clone https://github.com/SpiderLabs/owasp-modsecurity-crs.git
cp -r owasp-modsecurity-crs/ ${modsecurity_path}
cp ${modsecurity_path}/owasp-modsecurity-crs/crs-setup.conf.example ${modsecurity_path}/owasp-modsecurity-crs/crs-setup.conf
#deploy modsecurity
cp -r /usr/local/nginx/mod_security/{modsecurity.conf-recommended,unicode.mapping} ${modsecurity_path}
cp ${modsecurity_path}/modsecurity.conf-recommended ${modsecurity_path}/modsecurity.conf
sed -i 's/^SecRuleEngine DetectionOnly/SecRuleEngine on/' ${modsecurity_path}/modsecurity.conf
if [ $? -eq '0' ];
then
cat >> ${modsecurity_path}/modsecurity.conf << EOF
SecRule ARGS:testparam "@contains test" "id:1234,deny,status:403,msg:'Our test rule has triggered !!!197-test-196!!!'"
Include owasp-modsecurity-crs/crs-setup.conf
EOF
fi
Centos7 systemctl.service
# stat /usr/lib/systemd/system/nginx.service
:"/usr/lib/systemd/system/nginx.service"
:(0644/-rw-r--r--) Uid:( 0/ root) Gid:( 0/ root)
[Unit]
Description=nginx - high performance web server
Documentation=http://nginx.org/en/docs/
After=network-online.target remote-fs.target nss-lookup.target
Wants=network-online.target
[Service]
Type=forking
PIDFile=/var/run/nginx.pid
ExecStart=/usr/sbin/nginx -c /etc/nginx/nginx.conf
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s TERM $MAINPID
[Install]
WantedBy=multi-user.target
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.