/ Wordpress / 10浏览

nginx环境下单服务器配置多站点

写在之前

之前的阿里云 ECS 主机在5月份到期了,趁着活动又重新搞了一个,作为小白一只,什么东西都要问度娘,转移站点也是手忙脚乱一番才完成。

自己本身不擅长经营网站,没啥人气,空着主机就感觉有些浪费,于是就想在同一个主机上再放一个网站,啥都不懂的自己只能问度娘,最后摸索着修改还是成功了,在这里记录一下。

建站环境

自己的 ECS 服务器是 CentOS6 系统,采用 Oneinstack 一键安装搭建的 LNMP 环境,关于 nginx 的多站设置,假设我们已经有两个域名,分别是: www.domainA.com 和 www.domainB.com 。并且这两个域名解析已经映射给了 IP 为192.168.1.1的服务器。基于环境配置途径不同,一下可能存在配置文件和安装目录有所不同的问题,大同小异,应该很容易找到。

编辑nginx配置文件

编辑/usr/local/nginx/conf/nginx.conf,去掉server参数

    server {
    listen 80;
    server_name domainA.com;
    access_log /data/wwwlogs/access_nginx.log combined;
    root /data/www/domainA;
location / {
    try_files $uri $uri/ /index.php?$args;
}     
    index index.html index.htm index.php;
    location /nginx_status {
        stub_status on;
        access_log off;
        }
    location ~ [^/]\.php(/|$) {
        fastcgi_pass unix:/dev/shm/php-cgi.sock;
        fastcgi_index index.php;
        include fastcgi.conf;
        }
    location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|flv|ico)$ {
        expires 30d;
        access_log off;
        }
    location ~ .*\.(js|css)?$ {
        expires 7d;
        access_log off;
        }
    }
}

定义vhost

加入vhost定义,目录根据需要修改

################### vhost #####################
    include vhost/*.conf;

再在/usr/local/nginx/conf文件夹下面建立vhost文件夹,里面创建domainA和domainB对应的配置文件。
这个简单,就把之前的server配置内容复制到创建的对应conf文件里就OK了,分别创建domainA.conf和domainB.conf文件,上传到vhost文件夹

    server {
    listen 80;
    server_name domainA.com;
    server_name www.domainA.com;
    access_log /data/wwwlogs/access_nginx.log combined;
    root /data/www/domainA;
location / {
    try_files $uri $uri/ /index.php?$args;
}     
    index index.html index.htm index.php;
    location /nginx_status {
        stub_status on;
        access_log off;
        }
    location ~ [^/]\.php(/|$) {
        fastcgi_pass unix:/dev/shm/php-cgi.sock;
        fastcgi_index index.php;
        include fastcgi.conf;
        }
    location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|flv|ico)$ {
        expires 30d;
        access_log off;
        }
    location ~ .*\.(js|css)?$ {
        expires 7d;
        access_log off;
        }
    }

后记

这里要注意,如果你用的是一级域名,那么需要在server配置里指定不加www前缀的域名,否则访问domainB.com会被定义到默认站点而非www.domainB.com

  server_name www.domainB.com;
  server_name domainB.com;

另外,如果两个站点都是 wordpress ,可以开启wordpress多站点网络配置。

在网站根目录下的 wp-config.php 添加:

define('WP_ALLOW_MULTISITE', true);

设置好后,会在网站后台的“工具”菜单下看到一个“配置网络”工具,网上很多教程进行下一步设置,这里不再赘述。

0

  1. This post has no comment yet

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注