在一台机器上装nginx 和apache

/etc/hosts中

192.168.200.156 www.a.com      #本机ip

127.0.0.1 www.shenge1.com


nginx域名:www.a.com(端口默认80)

apache域名:www.shenge1.com(端口把默认80该为8080)

nginx配置文件中

http{

    ...

    upstream backend{ #这里配置上游服务器的地址(本例指apache服务器)

        server  www.shenge1.com:8080;

        ...  

    }

    server{

        listen 80;

        server_name www.a.com;

        location / {

            root /www/www.a.com;

            index index.html;

        }

        ...

        location ~\.php$ {#匹配.php文件,这里会根据/etc/httpd/conf/httpd.conf配置文件里的

                                    #DocumentRoot "/var/www/html"将/var/www/html作为apache的资源

                                    #跟目录,php等文件放此目录下就好了.

                                 

            proxy_pass http://backend; #这里设置上游服务器(实际上backend指的是一群服务器地址)

        }

    }

    ..

    

}


apache /etc/httpd/conf/httpd.conf

listen 8080


在/www/www.a.com/(nginx服务器的资源) 下的index.html 内容为

<html>

nginx

</html>


/var/www/html/(apache服务器的资源)下的index.php内容为

<?php

phpinfo()

?>



开启nginx

nginx

开启apache

service httpd start


单独的nginx只能解析静态界面(即html文件),而apache中带了php模块能够

解析php文件,成生很多静态的html界面,然后返回给nginx,再返回给客户端浏览器

首先在浏览器中访问www.a.com出现界面显示nginx则nginx正常启动

然后www.a.com/index.php ,如果只是单独的nginx是没法显示

出来的,如果按照我们的配置将nginx作反向代理通过apache就能解析,此时

如果能解析,说明反向代理没有问题.




nginx:启动nginx

nginx -s reload:重新加载nginx配置文件
nginx -s stop:停止nginx(快速停止,可能并不保存相关信息)

nginx -s quit:停止nginx(完整有序的停止nginx,保存相关的信息)

nginx -v:命令只是简单显示nginx的版本信息(nginx version),而nginx -V不但显示nginx的版本信息,而且还显示nginx的配置参数信息

nginx -t:检查配置文件是否正确