讲解如何使用Nginx为一台服务器部署多个WebServer,一个80端口很难挂多个WebServer。只能挂载在多个端口上,访问后还得加一个端口,太丑了,于是摸索了一下,用Nginx配置了一个多服务结构。这样就可以通过不同的子域名访问不同的应用了!粗略结构:本质上,nginx负责转发进来的请求,转发的依据是判断不同的子域名。STEP1安装Nginx第一步当然是安装nginx,各个平台不一样,不能共享。我自己的ubuntu环境。apt-getisntallnginxSTEP2设置DNSANDPORT去你的域名管理器分配你想要的子域名,当然都是A记录,都解析到你的VPS公网IP。另外一个准备是修改你所有的NodeWebServers的端口,可以根据自己的喜好设置,但是不要占用80和443端口。STEP3nginxconfigNode.js切换到你的nginx配置目录我的目录位置/etc/nginx/这里要说明一下,nginx有一个Include机制,它会自动加载conf.d目录下的所有_.conf_(默认配置Next),所以我们不需要修改nginx.conf文件。接下来,我们需要在conf.d目录下创建一系列的配置文件。请使用您对应的项目名称作为文件名,例如project1.conf。如果没有,请手动添加:include/etc/nginx/conf.d/*.conf;#include/etc/nginx/sites-enabled/*;//最好把他的默认页面注释掉,开始写项目配置:让我们写详细的转发规则。如需转发https,请复制一份以上内容粘贴在下方,修改监听端口为443,转发端口为您监听的https端口!STEP4nginxconfigPHPphp的转发设置会略有不同,(默认你已经安装了PHP)。一一解释,首先,我们的Root目录会变得重要,Nginx会把这个目录转发给FPM运行PHP代码,所以不要写错,其次,必须加上fastcgi_paramSCRIPT_FILENAME$document_root$fastcgi_script_name;可以引导fpm正确拼接地址TIPS:nginx和FPM默认的启动用户都是www-data,所以请务必将你网站根目录的属主改成www-data,并且不要把这个目录放在/root下/,会有权限问题,最好复制到/var/www目录下,并设置属主!STEP5Repeat重复34步创建所有你需要的项目配置STEP6Restartnginxservicenginxrestart如果出现错误,仔细查看资料,上网查找,一般是配置文件格式不对。STEP7运行打开你的网站,应该可以正常运行了!其实以后添加新的服务器只需要添加相应的conf文件,就可以很方便的横向扩展,整个网站访问起来会更加美观!
