<code><span>1.</span>将nginx安装包拷贝到/opt/nginx目录下,修改权限,解压缩,同时编译安装. root@iZ25n0utdnmZ:/opt/nginx<span># chmod 777 nginx-1.9.3.tar.gz </span> root@iZ25n0utdnmZ:/opt/nginx<span># ls -l</span> total <span>848</span> -rwxrwxrwx <span>1</span> root root <span>864430</span> Aug <span>3</span><span>18</span>:<span>37</span> nginx-<span>1.9</span><span>.3</span>.tar.gz root@iZ25n0utdnmZ:/opt/nginx<span># tar -zxvf nginx-1.9.3.tar.gz </span> root@iZ25n0utdnmZ:/opt/nginx/nginx-<span>1.9</span><span>.3</span><span># ./configure</span> ......(很多输出)...... checking <span>for</span> PCRE <span>library</span><span>in</span> /usr/include/pcre/ <span>...</span> not found checking <span>for</span> PCRE <span>library</span><span>in</span> /usr/pkg/ <span>...</span> not found checking <span>for</span> PCRE <span>library</span><span>in</span> /opt/local/ <span>...</span> not found ./configure: error: the HTTP rewrite module requires the PCRE library. You can either disable the module by using --without-http_rewrite_module option, or install the PCRE <span>library</span> into the system, or build the PCRE <span>library</span> statically from the <span>source</span> with nginx by using --with-pcre=<path> option. 提示缺少pcre,下载pcre并拷贝到/opt/pcre目录下,修改权限,解压缩,同时编译安装, root@iZ25n0utdnmZ:/opt/pcre<span># chmod 777 pcre-8.37.tar.gz </span> root@iZ25n0utdnmZ:/opt/pcre<span># ls -l</span> total <span>1996</span> -rwxrwxrwx <span>1</span> root root <span>2041593</span> Aug <span>5</span><span>18</span>:<span>31</span> pcre-<span>8.37</span>.tar.gz root@iZ25n0utdnmZ:/opt/pcre<span># tar -zxvf pcre-8.37.tar.gz </span> root@iZ25n0utdnmZ:/opt/pcre/pcre-<span>8.37</span><span># ./configure</span> root@iZ25n0utdnmZ:/opt/pcre/pcre-<span>8.37</span><span># make</span> root@iZ25n0utdnmZ:/opt/pcre/pcre-<span>8.37</span><span># make install</span> 安装完pcre后,继续安装nginx. root@iZ25n0utdnmZ:/opt/nginx/nginx-<span>1.9</span><span>.3</span><span># ./configure</span> ......(很多输出)...... checking <span>for</span> sha1 <span>in</span> system md <span>library</span><span>...</span> not found checking <span>for</span> sha1 <span>in</span> system OpenSSL crypto <span>library</span><span>...</span> not found checking <span>for</span> zlib <span>library</span><span>...</span> not found ./configure: error: the HTTP gzip module requires the zlib library. You can either disable the module by using --without-http_gzip_module option, or install the zlib <span>library</span> into the system, or build the zlib <span>library</span> statically from the <span>source</span> with nginx by using --with-zlib=<path> option. 提示缺少zlib,下载zlib并拷贝到/zlib/zlib目录下,修改权限,解压缩,同时编译安装, root@iZ25n0utdnmZ:/opt/zlib<span># chmod 777 zlib-1.2.8.tar.gz </span> root@iZ25n0utdnmZ:/opt/zlib<span># ls -l</span> total <span>560</span> -rwxrwxrwx <span>1</span> root root <span>571091</span> Aug <span>5</span><span>18</span>:<span>39</span> zlib-<span>1.2</span><span>.8</span>.tar.gz root@iZ25n0utdnmZ:/opt/zlib<span># tar -zxvf zlib-1.2.8.tar.gz </span> root@iZ25n0utdnmZ:/opt/zlib/zlib-<span>1.2</span><span>.8</span><span># ./configure</span> root@iZ25n0utdnmZ:/opt/zlib/zlib-<span>1.2</span><span>.8</span><span># make </span> root@iZ25n0utdnmZ:/opt/zlib/zlib-<span>1.2</span><span>.8</span><span># make install</span> 安装完zlib后,继续安装nginx. root@iZ25n0utdnmZ:/opt/nginx/nginx-<span>1.9</span><span>.3</span><span># ./configure</span> Configuration summary + using system PCRE <span>library</span> + OpenSSL <span>library</span> is not used + using builtin md5 code + sha1 <span>library</span> is not found + using system zlib <span>library</span> nginx path prefix: <span>"/usr/local/nginx"</span> nginx binary file: <span>"/usr/local/nginx/sbin/nginx"</span> nginx configuration prefix: <span>"/usr/local/nginx/conf"</span> nginx configuration file: <span>"/usr/local/nginx/conf/nginx.conf"</span> nginx pid file: <span>"/usr/local/nginx/logs/nginx.pid"</span> nginx error log file: <span>"/usr/local/nginx/logs/error.log"</span> nginx http access log file: <span>"/usr/local/nginx/logs/access.log"</span> nginx http client request body temporary files: <span>"client_body_temp"</span> nginx http proxy temporary files: <span>"proxy_temp"</span> nginx http fastcgi temporary files: <span>"fastcgi_temp"</span> nginx http uwsgi temporary files: <span>"uwsgi_temp"</span> nginx http scgi temporary files: <span>"scgi_temp"</span> root@iZ25n0utdnmZ:/opt/nginx/nginx-<span>1.9</span><span>.3</span><span># make</span> root@iZ25n0utdnmZ:/opt/nginx/nginx-<span>1.9</span><span>.3</span><span># make install</span> 注意:ginx默认是在安在/usr/local/nginx下. <span>2.</span>启动,重启和停止nginx. root@iZ25n0utdnmZ:/usr/local/nginx/sbin<span># ./nginx </span> root@iZ25n0utdnmZ:/usr/local/nginx/sbin<span># ./nginx -s reload</span> root@iZ25n0utdnmZ:/usr/local/nginx/sbin<span># ./nginx -s stop</span><span>3.</span>nginx和tomcat集成配置. 打开nginx的配置文件nginx.conf,在其中加入如下配置:参考配置<span>1.</span>conf. location ~ \.mvc { proxy_pass http://<span>101.201</span><span>.89</span><span>.5</span>:<span>8080</span>; } 其中重要的配置如下: server { listen <span>80</span>; server_name localhost; location ~ \.mvc { proxy_pass http://<span>101.201</span><span>.89</span><span>.5</span>:<span>8080</span>; } } 这段配置的意思是:服务器监听<span>80</span>端口,当有以.mvc结尾的请求时,服务器将请求交给代理处理.其余配置先不做详细介绍. 注意可以使用nginx -t指令校验配置文件配置的是否正确. root@iZ25n0utdnmZ:/usr/local/nginx/sbin<span># ./nginx -t</span> nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful <span>4.</span>nginx和tomcat负载均衡配置. 打开nginx的配置文件nginx.conf,在其中加入如下配置:参考配置<span>2.</span>conf. upstream myserver { server <span>101.201</span><span>.89</span><span>.5</span>:<span>8080</span> weight=<span>1</span>; server <span>101.201</span><span>.89</span><span>.5</span>:<span>8081</span> weight=<span>1</span>; } server { listen <span>80</span>; server_name localhost; location ~ \.mvc { proxy_pass http://myserver; } } 这段配置的意思是:服务器监听<span>80</span>端口,当有以.mvc结尾的请求时,服务器将请求交给代理处理,而代理指向的是一个服务器列表,通过upstream配置, 通过名字myserver匹配,在服务器列表中有两个服务器,端口分别是<span>8080</span>,<span>8081</span>,权重都是<span>1</span>,即nginx会将发过来的请求按<span>1</span>:<span>1</span>的比例交给两个服务器处理, 注意:如果某个服务器瘫痪了或者根本不存在,也不会影响业务,另一个服务器会处理所有请求. 另一个tomcat的server.xml文件配置需要修改的地方如下: 将<span>8005</span>改为<span>8006</span>:<server port="<span">"8006" shutdown=<span>"SHUTDOWN"</span>> 将<span>8080</span>改为<span>8081</span>:<connector port="<span">"8081" protocol=<span>"HTTP/1.1"</span> c>"20000" redirectPort=<span>"8443"</span> /> 将<span>8009</span>改为<span>8010</span>:<connector port="<span">"8010" protocol=<span>"AJP/1.3"</span> redirectPort=<span>"8443"</span> /> 如果两个服务都正常运行,可以通过记录log测试两个服务分别处理了不同的请求,如下: log4j.appender.file.File=/log/tomcat1/aplay-web.log log4j.appender.file.File=/log/tomcat2/aplay-web.log </connector></connector></server></path></path></code>
저작권: 이 글은 해당 블로거의 원본 글이므로 블로거의 허락 없이 복제할 수 없습니다.
위 내용은 서버 구축 2에 대한 내용을 포함하여 PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.

의존성 (di) inphpenhancescodeflexibility 및 testability는 decouplingdependencycreation fromusage.toimplementDieffectically : 1) addicontainersjudicuelyToavoidover-Engineering.2) indhe. 3) adhe

toimproveyourphpwebsite의 성능, UsetheseStrospations : 1) ubstractOpCodeCachingWithOpCaceToSpeedUpscriptScriptIngretation.2) 최적화 된 AabaseQueriesBysElectingOnlynecessaryFields.3) UsecachingsystemsLikeredSormcedUcedUcedUcedALOW

예, itispossibletosendmassemailswithphp.1) uselibraries -lifephpmailerorswiftmailerforfficialemailsending.2) emubledelaysbetemailstoavoidspamflags.3) personalizeemailsingdynamiccontenttoimproveengement.4) usequeuesystemslikerbitmbitmquredisb

의존성 (di) inphpisadesignpatternthatachievesinversionofcontrol (ioc) by ancelociestobeinjectedintoclasses, 향상 모듈 성, 테스트 가능성 및 flexibility.didecouplesssclassessfromspecificimplementations, codemoremanageableandadapt

PHP를 사용하여 이메일을 보내는 가장 좋은 방법은 다음과 같습니다. 1. 기본 전송에 Php 's Mail () 함수를 사용합니다. 2. phpmailer 라이브러리를 사용하여 더 복잡한 HTML 메일을 보내십시오. 3. Sendgrid와 같은 트랜잭션 메일 서비스를 사용하여 신뢰성 및 분석 기능을 향상시킵니다. 이러한 방법을 사용하면 이메일이받은 편지함에 도달 할뿐만 아니라 수신자를 유치 할 수 있습니다.

PHP 다차원 어레이에서 총 요소 수를 계산하는 것은 재귀 적 또는 반복적 인 방법을 사용하여 수행 할 수 있습니다. 1. 재귀 방법은 배열을 가로 지르고 중첩 배열을 재귀 적으로 처리함으로써 계산됩니다. 2. 반복 방법은 스택을 사용하여 깊이 문제를 피하기 위해 재귀를 시뮬레이션합니다. 3. Array_Walk_Recursive 함수도 구현할 수 있지만 수동 계산이 필요합니다.

PHP에서, do-while 루프의 특성은 루프 본체가 적어도 한 번 실행되도록하고 조건에 따라 루프를 계속할지 여부를 결정하는 것입니다. 1) 조건부 점검 전에 루프 본체를 실행하며, 사용자 입력 확인 및 메뉴 시스템과 같이 작업을 적어도 한 번 수행 해야하는 시나리오에 적합합니다. 2) 그러나, do-while 루프의 구문은 초보자들 사이에서 혼란을 야기 할 수 있으며 불필요한 성능 오버 헤드를 추가 할 수 있습니다.

PHP의 효율적인 해싱 스트링은 다음 방법을 사용할 수 있습니다. 1. 빠른 해싱에 MD5 기능을 사용하지만 비밀번호 저장에는 적합하지 않습니다. 2. SHA256 기능을 사용하여 보안을 향상시킵니다. 3. Password_hash 함수를 사용하여 비밀번호를 처리하여 최고 보안과 편의성을 제공하십시오.


핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

WebStorm Mac 버전
유용한 JavaScript 개발 도구

SublimeText3 Linux 새 버전
SublimeText3 Linux 최신 버전

MinGW - Windows용 미니멀리스트 GNU
이 프로젝트는 osdn.net/projects/mingw로 마이그레이션되는 중입니다. 계속해서 그곳에서 우리를 팔로우할 수 있습니다. MinGW: GCC(GNU Compiler Collection)의 기본 Windows 포트로, 기본 Windows 애플리케이션을 구축하기 위한 무료 배포 가능 가져오기 라이브러리 및 헤더 파일로 C99 기능을 지원하는 MSVC 런타임에 대한 확장이 포함되어 있습니다. 모든 MinGW 소프트웨어는 64비트 Windows 플랫폼에서 실행될 수 있습니다.

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)