Ubuntu 使用Nginx正确部署多个站点

Ubuntu 使用Nginx正确部署多个站点,ubuntu,nginx,Ubuntu,Nginx,我是一个服务器爱好者,我正在本地ubuntu机器上安装Nginx。我有多个站点,并在本地工作,作为转移到实时服务器的实践。我不确定这是否是有关网站的最佳设置。它们是wordpress网站 每个站点文件夹位于var/www /var/www/site1 /var/www/site2 我将/etc/nginx/sites available/default中的默认文件链接到/etc/nginx/sites enabled/default。保持原样。特别注意听的部分 server {

我是一个服务器爱好者,我正在本地ubuntu机器上安装Nginx。我有多个站点,并在本地工作,作为转移到实时服务器的实践。我不确定这是否是有关网站的最佳设置。它们是wordpress网站

每个站点文件夹位于
var/www

/var/www/site1
/var/www/site2
我将
/etc/nginx/sites available/default
中的默认文件链接到
/etc/nginx/sites enabled/default
。保持原样。特别注意听的部分

server {
        listen 80 default_server;
        listen [::]:80 default_server ipv6only=on;
使用此文件作为基础,我对这两个站点都做了相同的操作,在可用站点中为每个站点创建单独的文件,并将它们链接到启用的站点。这里是site1s设置

server {
        listen 80;
        listen [::]:80;

        root /var/www/site1;
        index index.php index.html index.htm;

        server_name local.site1.com; #for testing, edited in hosts

        location / {
                try_files $uri $uri/ /index.php?q=$uri&$args;
        }

        error_page 404 /404.html;
        error_page 500 502 503 504 /50x.html;
        location = /50x.html {
                root /usr/share/nginx/html;
        }

        location ~ \.php$ {
                try_files $uri =404;
                fastcgi_split_path_info ^(.+\.php)(/.+)$;
                fastcgi_pass unix:/var/run/php5-fpm.sock;
                fastcgi_index index.php;
                include fastcgi_params;
        }
}
我的问题很简单;这是设置Nginx服务器的有效方法吗?线程将我的设置列为一个选项,但对其效率没有任何影响。我将默认站点设置为“默认服务器”,而我的实际站点只监听端口80;我不太懂港口


我想问一下,在这一点上,每个站点都有一个“专用”数据库服务器(块),但这可能是一个完全不同的问题。

您可以配置,只需使用includes,您可以从一个文件更改所有站点的全局参数

site1s.conf:

server {
   root /var/www/site1;
   server_name local.site1.com; #for testing, edited in hosts

   include /etc/nginx/conf.d/global.cnf;
}
site2s.conf。。。从site1s.conf克隆的siteNs.conf(使用hostsnames只需更改2行)

/etc/nginx/conf.d/global.cnf(或您喜欢的任何名称,但最好不要使用.conf扩展名,以避免nginx自动加载-我不知道您的所有配置):


您可以进行配置,只需使用includes,就可以从1个文件更改所有站点的全局参数

site1s.conf:

server {
   root /var/www/site1;
   server_name local.site1.com; #for testing, edited in hosts

   include /etc/nginx/conf.d/global.cnf;
}
site2s.conf。。。从site1s.conf克隆的siteNs.conf(使用hostsnames只需更改2行)

/etc/nginx/conf.d/global.cnf(或您喜欢的任何名称,但最好不要使用.conf扩展名,以避免nginx自动加载-我不知道您的所有配置):


您可以进行配置,只需使用includes,就可以从1个文件更改所有站点的全局参数

site1s.conf:

server {
   root /var/www/site1;
   server_name local.site1.com; #for testing, edited in hosts

   include /etc/nginx/conf.d/global.cnf;
}
site2s.conf。。。从site1s.conf克隆的siteNs.conf(使用hostsnames只需更改2行)

/etc/nginx/conf.d/global.cnf(或您喜欢的任何名称,但最好不要使用.conf扩展名,以避免nginx自动加载-我不知道您的所有配置):


您可以进行配置,只需使用includes,就可以从1个文件更改所有站点的全局参数

site1s.conf:

server {
   root /var/www/site1;
   server_name local.site1.com; #for testing, edited in hosts

   include /etc/nginx/conf.d/global.cnf;
}
site2s.conf。。。从site1s.conf克隆的siteNs.conf(使用hostsnames只需更改2行)

/etc/nginx/conf.d/global.cnf(或您喜欢的任何名称,但最好不要使用.conf扩展名,以避免nginx自动加载-我不知道您的所有配置):


你担心什么样的效率?我听说Nginx可以根据需求进行扩展(与Apache不同),但我不知道是否有任何特殊的配置来实现这一点,或者它是否只是通过默认值“工作”。。。对于这一点,您通常谈论的是多个服务器和其他完全不同的东西。Nginx有一个比Apache更高效的线程模型,这可能就是您所听说的。而且,由于这与Nginx的设计方式有关,而与配置无关,所以它只起作用。您担心的效率是什么?我听说Nginx会根据需求进行扩展(与Apache不同)但我不知道是否有任何特殊的配置来启用此功能,或者它是否只在默认情况下“起作用”。。。对于这一点,您通常谈论的是多个服务器和其他完全不同的东西。Nginx有一个比Apache更高效的线程模型,这可能就是您所听说的。而且,由于这与Nginx的设计方式有关,而与配置无关,所以它只起作用。您担心的效率是什么?我听说Nginx会根据需求进行扩展(与Apache不同)但我不知道是否有任何特殊的配置来启用此功能,或者它是否只在默认情况下“起作用”。。。对于这一点,您通常谈论的是多个服务器和其他完全不同的东西。Nginx有一个比Apache更高效的线程模型,这可能就是您所听说的。而且,由于这与Nginx的设计方式有关,而与配置无关,所以它只起作用。您担心的效率是什么?我听说Nginx会根据需求进行扩展(与Apache不同)但我不知道是否有任何特殊的配置来启用此功能,或者它是否只在默认情况下“起作用”。。。对于这一点,您通常谈论的是多个服务器和其他完全不同的东西。Nginx有一个比Apache更高效的线程模型,这可能就是您所听说的。而且,由于这与Nginx的设计方式有关,而与配置无关,所以它只起作用。