>  기사  >  운영 및 유지보수  >  linux+Nginx+Mysql+Php 아이콘, 자세한 작업 단계!

linux+Nginx+Mysql+Php 아이콘, 자세한 작업 단계!

巴扎黑
巴扎黑원래의
2017-06-23 14:17:363226검색

LNMP소개

LAMP (Linux apache mysql php)---이전 web 서비스.

LNMP (Linux nginx mysql php)---은 비교적 트렌디하고 새로운 webn 서비스이며, 이용률이 상승세에 있습니다(중국에서 매우 인기가 높습니다).

Nginx (Engine html, js, css, jpg 등) www 소프트웨어, 정적 작은 파일은 동시성이 높습니다. 그리고 아주 적은 자원을 차지합니다. Nginxapache와 동일한 플랫폼(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보다 유연합니다.

전역 사용량이 낮고 보안이

apachenginxd만큼 좋지 않습니다. .

File

URL주소 암호화

기업 생산 시나리오 방법

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

local

hosts 파일에 ,을 추가하세요.

악성 도메인 이름 바인딩에 대한 솔루션:

[root@localhost conf]# vim /application/nginx/conf/nginx.conf(먼저 배치해야 함 server )

서버 {

듣기 80;

위치 / {

모두 거부;

}

                                  | /conf/nginx.conf.default

(로그 형식 찾기)

ㅋㅋㅋ $http_referer" '

'

다음으로 댓글을 삭제하세요

오류 로그 형식은 맨 위에 있습니다

소프트웨어 nginx로그 분석용:

syslog

,

rsyslog

,

Awstats

,

scribe

,

mysql

설치 방법:

5.1---

컴파일 및 설치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 도구]# ln -s /application/mysql5.5.32/ /application/mysql

[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

:

"/etc/my.cnf"를 포함합니까?

?

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

libiconv

(./configure --prefix= /USR/LOCAL/LIBICONV) intall libmcrypt (필수, 권장)는 암호화 라이브러리입니다./configuremake installes installest2

/sbin/ ld 구성 cd libltdl/

./configure --enable-ltdl-installmakemake installcd ​​​../../cd

install

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 .

install

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

오류 처리:

,,

3.php

Configuration

[root@localhost php-5.3.27]# cp php.ini-production /application/php/lib/php.ini

직접 업로드

[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/

index

위치 ~ .*.(php|php5)?$ #

If you 이때

{}

에 디렉터리를 지정하지 말고 위

html/bbs 아래의 php 파일을 직접 읽어보세요.                               > [root@localhost conf]# cd /application/nginx/html /www/[root@localhost www]# vim index.php

[root@localhost www]# /application /nginx/sbin/nginx -t

[root@localhost www] # /application/nginx/sbin/nginx -s reload

wiki

software

[root@localhost www ]# mysql

mysql> 데이터베이스 wiki;

mysql> wiki.*의 모든 항목을 'wiki'로 식별되는 wiki@'localhost'에 부여합니다. # wget

(Note

www

)

[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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.