nginx 配置虚拟主机

时间:2023-03-09 09:37:30
nginx  配置虚拟主机

文章转载自:http://www.ttlsa.com/html/1571.html

上篇说道我们的nginx是安装在/usr/local/nginx/

cd conf

我们现在把所有的虚拟主机放在一个文件夹下,起名为web.conf

但是在我们要修改一下nginx 的主配置文件nginx.conf

在http{}里添加

include web.conf;

同时设置一下nginx的日志格式

log_format main '$remote_addr - $remote_user [$time_local] '
                  ' $request_method $scheme "$server_name$uri" '
                  ' $status $body_bytes_sent  '
                  ' "$http_referer"  "$http_user_agent" "$http_x_forwarded_for"';

include web.conf;

然后我们就去配置虚拟主机

server {
 listen 80 ;
 server_name big1.bao.com
 server_tokens off ;

location / {
  proxy_next_upstream http_502 http_504 error timeout invalid_header;
  proxy_set_header Host $host;
  proxy_set_header X-Forwarded-For $remote_addr;
  proxy_pass http://big1;
  access_log logs/big1.access.log main;
  error_log  logs/big1.error.log;
  }
 expires -1d;
}

server {
 listen 80 ;
 server_name big2.bao.com
 server_tokens off ;

location / {
  proxy_next_upstream http_502 http_504 error timeout invalid_header;
  proxy_set_header Host $host;
  proxy_set_header X-Forwarded-For $remote_addr;
  proxy_pass http://big2;
  access_log logs/big2.access.log main;
  error_log  logs/big2.error.log;
  }
 expires -1d;
}

现在我们就上面的虚拟主机做一个配置讲解

server{}==>配置虚拟主机必须有这个字段,

server_name==>虚拟主机的域名,可以写多个域名,类似别名,这样访问这多个别名的话,得到的内容是一样的

listen==>监听的ip和端口号,这里只有端口号,表示当前服务器所有ip的80端口

server_tokens off ;  隐藏nginx的版本号,这样在页面出现404、501什么的时候就不会显示nginx 的版本了

但是同时还要修改一下php-fpm配置文件,比如说fastcgi.conf或fcgi.conf(这个配置文件名也可以自定义的,根据具体文件名修改):

找到:
fastcgi_param SERVER_SOFTWARE nginx/$nginx_version;
改为:
fastcgi_param SERVER_SOFTWARE nginx;

3、重新加载nginx配置:

重启之前可以使用nginx  -t  检查一下配置文件

# /etc/init.d/nginx reload