집 >운영 및 유지보수 >리눅스 운영 및 유지 관리 >linux+Nginx+Mysql+Php 아이콘, 자세한 작업 단계!
LNMP소개
LAMP (Linux apache mysql php)---이전 web 서비스.
LNMP (Linux nginx mysql php)---은 비교적 트렌디하고 새로운 webn 서비스이며, 이용률이 상승세에 있습니다(중국에서 매우 인기가 높습니다).
Nginx (Engine html, js, css, jpg 등) www 소프트웨어, 정적 작은 파일은 동시성이 높습니다. 그리고 아주 적은 자원을 차지합니다. Nginx는 apache와 동일한 플랫폼(linux unix windows
도 괜찮음)을 사용합니다.
Nginx기능: a.www webservice---http 80
b.로드 밸런싱(역방향 프록시proxy)
c.web 캐시
nginx장점: 1. 간단한 구성과 유연성.
2.높은 동시성(정적 작은 파일), 정적
1-2W.
3.적은 리소스를 점유하고
2W스레드 서비스를 동시에
10 개발하며 수백 메가바이트의 메모리를 소비합니다.
4.기능 종류(웹 캐시 프록시프록시)가 많고, 각 기능이 그다지 강력하지 않습니다. 5.는 epoll 모델을 지원하여
nginx이 높은 동시성을 지원합니다. 동적 서비스를 사용하는
6.nginx과 apache에는 차이가 있습니다. 7.
nginx를 사용하여 IP 속도를 제한하세요. 연결 수는 제한될 수 있습니다.
구현 원칙: nginx(apache)
--
》php--》mysql nginx응용 사례: 1.정적 서비스(사진, 동영상), 그 외 lighthttpd(커뮤니티가 활성화되지 않음). 동시성:
1-3W
, html
, js, css, .flv
2.동적 서비스: nginx+fastcgi 실행 방법 php, jsp. 동시성: 500-1500, apache+php, lighttpd+fcgi php
3.역방향 프록시, 로드 밸런싱과 유사합니다. 일일 PV가 2000W 이하인 사람이라면 누구나 nginx를 에이전트로 사용할 수 있습니다. haproxy, F5, a104.
캐싱 서비스,SQUID, VARNI.
nginx
및 기타web 서버 비교: 1) apache
a. 안정적이고 강력함
b. Prefork
모드는 프로세스 생성 오버헤드를 제거하고 고성능을 제공합니다.c.
동적 비즈니스 데이터를 처리할 때 백엔드 엔진 및 데이터베이스와 연결되어 있기 때문에 병목 현상은apache 자체d가 아닙니다. 높은 동시성이 상대적으로 더 많은 시스템 리소스를 소비하는 경우
e.
기존select 모델 2) nginx
a.
은 비동기식IO 모델(epoll, kqueue)을 기반으로 하며 강력한 성능을 가지며 수십 개를 지원할 수 있습니다. 수천 개의 동시성b. 작은 파일 지원이 매우 좋고 성능이 매우 높습니다(정적 작은 파일로 제한됨)
c 코드가 아름답고 기본 프로그램용으로 확장 라이브러리를 컴파일해야 합니다
d. 리소스 소모가 상대적으로 적습니다.
3) Lighttpd
(Baidu Post Bar, Douban)a.
비동기식IO 모델 기준으로 성능은 nginx b.
확장은SO 모드로, nginxc보다 유연합니다.
전역 사용량이 낮고 보안이apache 및 nginxd만큼 좋지 않습니다. .
FileURL주소 암호화
기업 생산 시나리오 방법web
서버 선택(권장):정적 비즈니스: 높은 동시성, nginx
또는사용 lighthttpd 동적 비즈니스: nginx
및apache 중 하나를 사용하세요 동적 서비스와 정적 서비스가 모두 있습니다. nginx
및apache를 모두 사용할 수 있으며 단일 선택이 가능합니다. 외부 업무 nginx
, 내부 업무apache
설치 및 구성ngin x
备1. 装 설치 준비:[root@localhost ~]# yum install pcre* -y
[root@localhost ~ ]# yum install openssl* -y2. 컴파일:
./ -With-HTTP_MODULE
3. 확인:
[root@localhost 애플리케이션]# /application/nginx/sbin/nginx -t
nginx: 구성 파일 /application/nginx1.12.0/conf/nginx.conf 구문이 괜찮습니다
nginx: 구성 파일 /application/nginx1.12.0/conf/nginx.conf 테스트가 성공했습니다
[root@localhost 애플리케이션 ] # /application/nginx/sbin/nginx
[root@localhost application]# netstat -lntup|grep nginx(또한 80 포트도 확인 가능)
이 인터페이스가 나타나면 성공을 나타냅니다
[root@localhost application]# vim /application/nginx/html/index.html 홈페이지 콘텐츠 수정
4.nginx 모듈 정보
1) Nginx 핵심 모듈(필수), Main Events
2)표준 HTTP 모듈 포함(필수는 아니지만 기본적으로 설치되며 변경이 권장되지 않음), Core 포함 Acess FastCGI Gzip(압축 모듈, 성능 최적화) LOG(로그 모듈) Proxy Rewrite(URLrewriting 모듈) Upstream(로드 밸런싱 모듈) 등
팁: 누락 지방 상황에 따라 두 모듈 세트가 모두 설치됩니다. 구성 파일 수정은 주로 이 2 모듈 그룹의 기능을 기반으로 모듈의 매개변수를 수정하는 것입니다. 모듈의 매개변수는 공식 웹사이트에서 볼 수 있습니다.
5.nginx 구성
[root@localhost conf]# egrep -v "#|^$" nginx.conf.default >nginx.conf (댓글 # 줄 제거 )
[root@localhost conf]# vim nginx.conf(cairui.org는 별칭입니다)
[root@localhost conf]# mkdir /application/nginx/html / www
[root@localhost conf]# touch /application/nginx/html/www/index.html
[root@localhost conf]# vim /application/nginx/html/www/index.html
[root @ localhost conf]# /application/nginx/sbin/nginx -t
nginx: 구성 파일 /application/nginx1.12.0/conf/nginx.conf 구문은 ok
nginx: 구성 파일 /application/nginx1.12.0/ conf /nginx.conf 테스트가 성공했습니다
[root@localhost conf]# /application/nginx/sbin/nginx -s reload
windowslocalhosts 파일을 수정하세요. 에 있어야 합니다. win 명령 프롬프트는 가상 호스트에서 ping통과한 다음 웹페이지로 이동하여
상태 추가 server 태그를 볼 수 있습니다:
[root@localhost conf]# vim /application/nginx/conf/ nginx.conf
##status
server {
듣기 위치 / {
stub_status on;
access_log off;
}
}
또한win
localhosts 파일에 ,을 추가하세요. 악성 도메인 이름 바인딩에 대한 솔루션: [root@localhost conf]# vim /application/nginx/conf/nginx.conf(먼저 배치해야 함 server ) 서버 { 듣기 80; 위치 / { 모두 거부; } | /conf/nginx.conf.default 다음으로 댓글을 삭제하세요 소프트웨어 nginx로그 분석용: syslog , , , 설치 방법: 컴파일 및 설치configure, make, make install5.5--- 컴파일 및 설치 cmake, make , 설치하기( 바이너리 패키지로 직접 설치할 수 있습니다. 압축을 풀면 됩니다.) 1.Install mysql[root@ localhost conf]# useradd mysql -s /sbin/nologin -M[root@localhost 도구]# tar xf mysql-5.5.32-linux2.6-x86_64.tar.gz[root@localhost 도구]# mv mysql -5.5.32-linux2.6-x86_64 /application/mysql5.5.32 [root@localhost 도구]# chown - R mysql.mysql /application/mysql/data/[root@localhost mysql] # ./scripts/mysql_install_db --user=mysql --basedir=/application/mysql/ --datadir=/application/mysql/data/ (컴파일하기 전에 libaio을 설치해야 함)[root@ localhost mysql]# cp support-files/mysql.server /etc/init.d/mysqld[root@localhost mysql]# vim /etc /init.d/mysqld [root@ localhost mysql]# cp support-files/my-small.cnf /etc/my.cnf cp y[root@localhost mysql]# vim /etc/profile [root@localhost mysql]# service mysqld start MySQL 시작 중.. 성공! [root@localhost mysql]# mysql 데이터베이스 최적화: mysql> 데이터베이스 테스트; mysql> mysql.user에서 호스트 선택; mysql> 사용자 삭제''@localhost; [root@localhost mysql]# mysql -uroot -pnew-password mysql수정)mysql> root@localhost에 대한 비밀번호 설정 = 비밀번호('123') PHP LNMP php: apache--- nginx 실행 중 일반적으로 [root@localhost mysql]# netstat -lntup|egrep "nginx|mysql" 1.설치가 필요한 소프트웨어installation (./configure --prefix= /USR/LOCAL/LIBICONV) intall libmcrypt (필수, 권장)는 암호화 라이브러리입니다./configuremake installes installest2 /sbin/ ld 구성 cd libltdl/ ./configure --enable-ltdl-installmakemake installcd ../../cd mhash./ 구성 make make install sleep 2 cd ../ rm -fr /usr/lib64/libmcrypt.* rm -fr /usr/lib64/libmhash* ln -s /usr/local /lib64/libmcrypt.la /usr/lib64/libmcrypt.la ln -s /usr/local/lib64/libmcrypt.so /usr/lib64/libmcrypt.so ln -s /usr/local /lib64/libmcrypt .so.4 /usr/lib64/libmcrypt.so.4 ln -s /usr/local/lib64/libmcrypt.so.4.4.8 /usr/lib64/libmcrypt.so.4.4.8 ln -s /usr/local/lib64/libmhash.a /usr/lib64/libmhash.a ln -s /usr/local/lib64/libmhash.la /usr/lib64/libmhash.laln -s /usr/local /lib64/libmhash.so /usr/lib64/libmhash.so ln -s /usr/local/lib64/libmhash.so.2 /usr/lib64/libmhash.so.2 ln -s /usr/local /lib64/libmhash.so.2.0.1 /usr/lib64/libmhash.so.2.0.1 ln -s /usr/local/bin/libmcrypt-config /usr/bin/libmcrypt-config mcrypt /sbin/ldconfig ./configure LD_LIBRARY_PATH=/usr/local/lib make make install cd ../ sleep 2 2 . php [root@localhost tools]# yum install libxslt* -y ./configure --prefix=/application/php5.6.30 --with-mysql=/application/mysql --with-iconv -dir=/usr/local/libiconv --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml -dir=/usr --enable-xml --disable-rpath --enable-safe-mode --enable-bcmath --enable-shmop --enable-sysvsem --인라인 최적화 --with-curl --with-curlwrappers --enable-mbregx --enable-fpm --enable-mbstring --with-mcrypt --with-gd --enable-gd-native-ttf --with-openssl --with-mhash --enable-pcntl --활성화 -소켓 -- with-xmlrpc --enable-zip --enable-soap --enable-short-tags --enable-zend-멀티바이트 --enable-static --with-xsl --with-fpm-user=nginx --with-fpm-group=nginx --enable-ftp --enable-opcache=no ln -s /application /mysql/lib/libmysqlclient .so.18 /usr/lib64 오류 처리: ,, Configuration 직접 업로드 [root@localhost etc]# /application/php/sbin/php-fpm -t [root@localhost etc]# /application/php/sbin/php-fpm Start up cat >>/etc/rc.local< #nginx+php-fpm by cairui at 2017 /etc/init.d/mysqld start /application/php/sbin/php-fpm /application/nginx/sbin/nginx EOF [root@134 extra]# 고양이 / application/nginx/conf/extra/bbs.conf 서버 { > application/nginx/conf/ 위치 ~ .*.(php|php5)?$ # html/bbs 아래의 php 파일을 직접 읽어보세요. > [root@localhost conf]# cd /application/nginx/html /www/[root@localhost www]# vim index.php software (Note [root@ localhost www]# unzip download.php?n=HDWiki-v6.0GBK-20170209.zip [root@localhost www]# rm -f download .php?n=HDWiki-v6.0GBK-20170209.zip[ root@localhost www]# mv hdwiki/* . [root@localhost www]# cd ../ [root@localhost html]# chown -R nginx.nginx www/
위 내용은 linux+Nginx+Mysql+Php 아이콘, 자세한 작업 단계!의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!