安装配置Nginx作为Apache和Tomcat服务器的前端服务器

前言

测试机运行ubuntu sever 12.04系统。安装好后会同时运行Nginx, Apache和Tomcat服务器. Nginx用作前端服务器,接收所有http请求并处理返回静态请求,将动态Java请求转发给Tomcat, 将动态PHP请求,转发给Apache. 在我安装配置过程中,缺乏给初学者的详细完整的攻略,因此产生了这篇安装配置指南。希望能够帮助有需要的朋友更便捷地安装配置实现。

简介

Nginx是小巧快速的轻量级服务器,优雅的线程设计类似JBoss,为非阻塞设计,对于静态请求有非常好的处理能力。既然是指南,就用手册体了。在完成所有配置之后, Nginx服务器会运行在了公网IP中,监听80端口,其他的两个服务器,Apache和Tomcat会运行在localhost中,等待Nginx的转发。以下就是三个服务器的IP和端口配置。这些配置都可以根据个人情况进行更改。
[plain]  view plain copy
  1. Nginx Web Server your-domain:80  
  2. Apache Web Server port localhost:8080  
  3. Tomcat Server port localhost:8081  

Apache服务器的安装配置

1. 使用以下命令安装Apache服务器。
[plain]  view plain copy
  1. sudo apt-get install apache2  
2. 设置Apache服务器作为后端服务器,运行在localhost。修改 /etc/apache2/ports.conf 文件。在该文件中输入以下两行配置内容。可以选择使用不同的端口号。
[plain]  view plain copy
  1. NameVirtualHost 127.0.0.1:8080  
  2. Listen 127.0.0.1:8080  
3. 配置Virtual Host. 复制/etc/apache2/sites-available/default 文件,将其重命名为你喜欢的名字,我在这使用demo。 然后在该文件中输入以下内容。可以指定不同的路径,只要正确就好。
[plain]  view plain copy
  1. <VirtualHost 127.0.0.1:8080>  
  2. DocumentRoot /var/www  
4. 使用以下第一行命令让默认的配置文件失效,使用第二行命令让新的配置文件生效。
[plain]  view plain copy
  1. sudo a2dissite default  
  2. sudo a2ensite demo  
5. 安装php相关软件。
[plain]  view plain copy
  1. sudo apt-get install libapache2-mod-php5 php5 php-pear php5-xcache  
6. 为了验证Nginx正确地把php相关请求转发给了Apache,创建一个info.php文件用来测试,在里面加入以下内容来查看php的相关信息。
[html]  view plain copy
  1. <?phpinfo();?>  
7. 使用以下命令重启Apache服务器。
[plain]  view plain copy
  1. sudo /etc/init.d/apache2 restart  

Nginx服务器的安装配置

1. 使用以下命令安装Nginx服务器。
[plain]  view plain copy
  1. sudo apt-get install nginx  
2. 复制/etc/nginx/site-available/default 文件,并重命名为你喜欢的名字。这里还是用demo这个名字吧。在该文件中添加以下内容,让Nginx服务静态页面,将动态PHP请求传递给Apache服务器了。
[plain]  view plain copy
  1. server {  
  2.         listen   80;   
  3.         root /var/www/;   
  4.         index index.php index.html index.htm;  
  5.         server_name your-domain;   
  6.         location / {  
  7.             try_files $uri $uri/ /index.php;  
  8.         }  
  9.         location ~ \.php$ {  
  10.             proxy_set_header X-Real-IP  $remote_addr;  
  11.             proxy_set_header X-Forwarded-For $remote_addr;  
  12.             proxy_set_header Host $host;  
  13.             proxy_pass http://127.0.0.1:8080;  
  14.          }  
  15.          location ~ /\.ht {  
  16.                 deny all;  
  17.         }  
  18. }  
3. 依次使用以下命令,让默认的配置失效,让新的配置生效。
[plain]  view plain copy
  1. sudo ln -s /etc/nginx/sites-available/demo /etc/nginx/sites-enabled/demo  
  2. sudo rm /etc/nginx/sites-enabled/default  
4. 使用以下命令,重启Nginx服务器。
[plain]  view plain copy
  1. sudo /etc/init.d/nginx restart  
5. 访问domain/info.php页面来查看服务器是否正确配置运行了。如果正确的话,你将看到php的相关信息。

Tomcat服务器的安装配置

安装Tomcat服务器需要你事先安装了Java.
1. 使用以下命令下载Tomcat服务器。
[plain]  view plain copy
  1. wget http://apache.cs.utah.edu/tomcat/tomcat-7/v7.0.41/bin/apache-tomcat-7.0.41.tar.gz  
2. 使用以下命令解压缩。
[plain]  view plain copy
  1. tar xvzf apache-tomcat-7.0.41.tar.gz  
3. 使用以下命令将解压后的文件移动到你指定的文件夹下。
[plain]  view plain copy
  1. sudo mv apache-tomcat-7.0.41 /opt/tomcat7  
4. 更改该文件的所有权。按照个人喜好来。
[plain]  view plain copy
  1. sudo chown -R root:root /opt/tomcat7  
5. 将以下内容添加到 /etc/environment文件中。
[plain]  view plain copy
  1. CATALINA_HOME="/opt/tomcat7"  
6. 将以下内容添加到/opt/tomcat7/bin/catalina.sh文件中。你需要使用你自己的Java路径。
[plain]  view plain copy
  1. JAVA_HOME="/usr/lib/jvm/java-7-oracle"  
  2. JRE_HOME="/usr/lib/jvm/java-7-oracle/jre"  
7. 在/opt/tomcat7/conf/server.xml文件中使用如下配置。
[html]  view plain copy
  1. <Connector address="127.0.0.1" port="8081"   
  2.              protocol="HTTP/1.1"  
  3.              connectionTimeout="20000"  
  4.              redirectPort="8443" />  
8. 让Nginx服务器转发Tomcat的应用请求,你需要在Nginx和Tomcat端做相应配置。假如你有个Java的Web应用,叫作webDemo, 在/etc/nginx/sites-available/demos文件中加入如下 location信息。
[html]  view plain copy
  1. location /webDemo/{  
  2.       proxy_set_header X-Real-IP $remote_addr;  
  3.       proxy_set_header X-Forwarded-For $remote_addr;  
  4.       proxy_set_header Host $host;  
  5.       proxy_pass http://127.0.0.1:8082/webDemo/;  
  6.   }  
9. 在/opt/tomcat7/conf/server.xml文件里面的<Host>标签中,加入以下内容。
[html]  view plain copy
  1. <Context path="/webDemo" docBase="/opt/tomcat7/webapp/webDemo"   
  2. ebug="0" reloadable="true" cachingAllowed="false" allowLInking="true" />  
10. 假如你有更多其他的应用,可以用以上同样的方法添加应用配置。接下来使用以下命令先启动Tomcat服务器,再重启Nginx服务,这样我们的所有配置过程就结束了。
[plain]  view plain copy
  1. sudo $CATALINA_HOME/bin/catalina.sh start  
  2. sudo /etc/init.d/nginx restart  
你可以使用以下命令查看各个端口是否运行着相应的服务器。
[plain]  view plain copy
  1. sudo netstat -plunt  

References

转自:http://blog.csdn.net/u011316248/article/details/9254563


相关推荐
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页