Heim > Artikel > Backend-Entwicklung > Server-Setup 2
<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"</span> shutdown=<span>"SHUTDOWN"</span>> 将<span>8080</span>改为<span>8081</span>:<Connector port=<span>"8081"</span> protocol=<span>"HTTP/1.1"</span> c>"20000"</span> redirectPort=<span>"8443"</span> /> 将<span>8009</span>改为<span>8010</span>:<Connector port=<span>"8010"</span> 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 </code>
Urheberrechtserklärung: Dieser Artikel ist ein Originalartikel des Bloggers und darf nicht ohne die Erlaubnis des Bloggers reproduziert werden.
Das Obige hat den Serveraufbau 2 vorgestellt, einschließlich einiger inhaltlicher Aspekte. Ich hoffe, dass es für Freunde hilfreich sein wird, die sich für PHP-Tutorials interessieren.