在一台服务器部署4个网站

在一台服务器上部署4个网站,WEB服务器采用nginx和apache

nginx作为80端口的主web服务器,反向代理后端的apache web服务器,apache WEB服务器采用多端口运行,如8070,9999.

首先服务器上要安装好LAMP和LNMP环境,也就是在nginx和apache下两个phpinfo页面要可以正常的显示出来。

测试服务器:树莓派3B+

四个网站:

alexpeng.cc    nginx    

alexpeng.net    nginx

myblog.com    apache

viaucc.com    apache

下面是第一个网站alexpeng.cc,部署在nginx下面

nginx的配置文件

cd /etc/nginx/conf.d/

sudo nano alexpeng-cc.conf

server {
        #定义网站端口,域名,根目录,文件最大上传限制,时间限制,index文件
        listen       80;
        server_name  alexpeng.cc www.alexpeng.cc;
        root /usr/share/nginx/alexpeng;
        client_max_body_size 300m;
        client_body_timeout 120;
        location / {
        index  index.html index.htm index.php default.html default.htm default.php;
        }
        #开启php支持
        location ~\.php$ {
        fastcgi_pass unix:/run/php/php7.0-fpm.sock;
        #fastcgi_pass 127.0.0.1:9000;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
        }
        #开启re_write模块,也就是伪静态
        if (-f $request_filename/index.html){
        rewrite (.*) $1/index.html break;
        }
        if (-f $request_filename/index.php){
        rewrite (.*) $1/index.php;
        }
        if (!-f $request_filename){
        rewrite (.*) /index.php;
        }
}

检查配置文件

sudo nginx -t

重启

sudo nginx -s reload

第二个网站的alexpeng.net也是部署在nginx下面

nginx配置文件

server {
        #定义网站端口,域名,根目录,文件最大上传限制,时间限制,index文件
        listen       80;
        server_name  alexpeng.net www.alexpeng.net;
        root /usr/share/nginx/html;
        client_max_body_size 300m;
        client_body_timeout 120;
        location / {
        index  index.html index.htm index.php default.html default.htm default.php;
        }
         #开启php支持
        location ~\.php$ {
        fastcgi_pass unix:/run/php/php7.0-fpm.sock;
        #fastcgi_pass 127.0.0.1:9000;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
        }
}

测试一下两个网站是否都能正常访问,OK了就开始配置apache

先更改apache的端口为除80外的其他端口,否则nginx和apache不能同时运行。

cd /etc/apache2/

sudo nano ports.conf 

#Listen 80
Listen 8070
Listen 9999

第三个网站myblog.com部署在apache下面,端口号8070,配置文件如下

sudo nano /etc/apache2/sites-available/myblog.conf

<VirtualHost *:8070>
#<VirtualHost *:80>
ServerName www.myblog.com
ServerAlias blog.com
DocumentRoot /var/www/html/myblog
</VirtualHost>
<Directory /var/www/html/myblog>
AllowOverride All
Require all granted
</Directory>

第四个网站viaucc.com也是一样的,端口号9999

<VirtualHost *:9999>
#<VirtualHost *:80>
ServerName www.viaucc.com
ServerAlias viaucc.com
DocumentRoot /var/www/html/viaucc
</VirtualHost>
<Directory /var/www/html/viaucc>
AllowOverride All
Require all granted
</Directory>

开启这两个站点

sudo a2ensite myblog.conf

sudo a2ensite viaucc.com

sudo systemct    reload apache2

在浏览器输入域名+端口好访问,两个都访问成功的话就到了最后一步。

配置nginx反代

cd /etc/nginx/conf.d/

sudo nano proxy.conf

server {
        listen       80;
        server_name  jiankong.com www.jiankong.com;
        location / {
            proxy_pass   http://localhost:8090;
            index  index.html index.htm;
        }
    }
server {
        listen       80;
        server_name  myblog.com www.myblog.com;
        index  index.html index.htm index.php;
        root    /var/www/html/myblog;
        location / {
                proxy_pass   http://localhost:8070;
                proxy_set_header   Host             $host;
                proxy_set_header   X-Real-IP        $remote_addr;
        }
    }
server {
        listen       80;
        server_name  viaucc.com www.viaucc.com;
        index  index.html index.htm index.php;
        root    /var/www/html/viaucc;
        location / {
                proxy_pass   http://localhost:9999;
                proxy_set_header   Host             $host;
                proxy_set_header   X-Real-IP        $remote_addr;
        }
    }

sudo nginx -t

sudo nginx -s reload

至此,一台服务器部署四个网站就结束了。


最后编辑于:2018/10/25作者: admin

发表评论