我已经设置了 Raspberry Pi 作为 Web 服务器,因此我安装了nginx使用 php5 并且我购买了两个域:
- 域名1.co.uk
- Domain2.it
我有一个链接到这两个域的静态 IP,因此如果我输入其中一个,我就会得到我编写的相同的示例网页。
我怎样才能为一个域设置一个目录,并为另一个域设置另一个目录?
答案1
在配置的服务器部分,您可以指定服务器名称和相关的根,例如在 /mnt/web/nginx/conf.d/ 中创建 2 个 .conf 文件
例如
server {
server_name domain1.co.uk;
root /mnt/web/sites/dom1site;
access_log /var/log/nginx/domain1.co.uk.access_log;
error_log /var/log/nginx/domain1.co.uk.error_log;
include /etc/nginx/global/restrictions.conf;
include /etc/nginx/global/wordpress.conf;
}
和
server {
server_name Domain2.it;
root /mnt/web/sites/dom2site;
access_log /var/log/nginx/domain2.it.access_log;
error_log /var/log/nginx/domain2.it.error_log;
include /etc/nginx/global/restrictions.conf;
include /etc/nginx/global/wikipedia.conf;
}
以下是配置帮助的便捷链接:http://wiki.nginx.org/配置
所以...在您的主 nginx.conf 中您指定 http {},您可以在其中引用一个目录,其中包含所有各个站点配置的配置(可能是最方便的)。
nginx.conf 的示例(!):
user rasp-user rasp-user;
worker_processes 1;
error_log /var/log/nginx/error.log;
pid /var/run/nginx.pid;
events {
worker_connections 1024;
}
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /var/log/nginx/access.log main;
tcp_nopush off;
tcp_nodelay on;
sendfile on;
types_hash_max_size 2048;
client_body_timeout 10;
client_header_timeout 10;
keepalive_timeout 15;
send_timeout 10;
client_body_buffer_size 8K;
client_header_buffer_size 1k;
client_max_body_size 20m;
large_client_header_buffers 2 1k;
gzip on;
gzip_comp_level 2;
gzip_min_length 1000;
gzip_proxied expired no-cache no-store private auth;
gzip_types text/plain application/xml;
gzip_disable "MSIE [1-6]\.";
index index.php index.html index.htm;
upstream php {
#server unix:/tmp/php-fpm.sock;
server 127.0.0.1:9000;
}
include /etc/nginx/conf.d/*.conf;
include /mnt/web/nginx/conf.d/*.conf;
}