详细信息 您现在的位置是:首页 > 常见问题

Centos之nginx多站点配置

来源:小程 发布时间:2021-06-23 847 人已围观

摘要这有点类似windows server上的IIS多站点用主机头来共用80端口,接下来我们就防着IIS主机头模式来给Nginx绑定多个域名、多个站点。

1.前言

这有点类似windows server上的IIS多站点用主机头来共用80端口,接下来我们就防着IIS主机头模式来给Nginx绑定多个域名、多个站点。(前面已经使用yum方式安装过了Nginx-1.16.1了,下面直接配置)


2.先看一下nginx主配置文件/etc/nginx/nginx.conf中的一行内容include /etc/nginx/conf.d/*.conf,这说明还可以自定义配置文件到conf.d目录下,只要命名为.conf为后缀名即可(语法要对哈)


b1.png

3.新建一个站点配置文件(一个站点配置文件配置多个域名)

当然你如果有其他域名只管往里面照葫芦画瓢的加进去就行了。

3-1. server{}代表一个站点完整区块;

3-2. listen 80;代表本站点使用80端口;

3-3. server_name hiibm.com www.hiibm.com;指的是站点的域名(相当于IIS的主机头"域名"),多个域名用空格分开,以分号结尾即可。

3-4. access_log 指的是访问日志文件的详细路径,main指的是日志格式采用nginx主配置文件/etc/nginx/nginx.conf中的http{log_format main定义的日志格式}

3-5. location /nginx_status {} 指定义nginx访问自定义的访问地址叫nginx_status,将来访问的时候就使用如http://hiibm.com/nginx_status来查看nginx的实时访问状况。

3-6. stub_status on; 它是包含在location /nginx_status里面的配置,指的是启用nginx的stub_status模块;注意:启用这个模块的话必须事先已经安装过它,可以使用命令nginx -V |grep stub_status来查是否安装了。(我使用yum安装的时候默认已经安装过这个模块了)。allow all代表谁可以访问这个url,可以设定某台主机或某网段来访问,看图中注释。

3-7. location / {},代表本次的域名访问的根路径的相关设置。

3-8. root /data/web/hiibm.com;指的是本站点的web存放路径。注意web目录路径的属主要改成nginx用户

3-9. index index.html index.htm,这的是默认首页文件名,多个文件可以用空格分开。

3-10. error_page 404 /404.html 指的是开启自定义404页面,404页面的地址在网站根目录下并且文件名叫404.html,注意如果开启这个了,那你就必须去制作一个404页面,丢到指定位置。

3-11. error_page 500 503 503 504 /50x.html;这个不清楚,应该也是自定义的错误页面。

3-12. root /usr/share/nginx/html;指的是错误代码为500那一串的页面的详细地址,nginx已经默认有了/usr/share/nginx/html/50x.html

server {
    listen       80;
    server_name  b.com www.b.com;
    #charset koi8-r;
    access_log  /var/log/nginx/b.access.log  main;
 
    location / {
        root   /data/web/b.com;
        index  index.html index.htm;
    }
    #error_page  404              /404.html;
 
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
    }
}


4.还可以再建任意多个Nginx站点配置文件,如下

啰嗦:只要配置文件名以.conf结尾,并放到/etc/nginx/conf.d/文件夹下即可。


5.啰嗦:关于站点网页目录权限问题

5-1.创建站点文件夹,执行命令:mkdir -p /data/web/hiibm.com

5-2.顺手改掉这个目录的属主权限,执行命令:chown -R nginx:nginx /data

5-3.比如上面配置文件中的hiibm.com站点,指定的网页目录是/data/web/hiibm.com,那么就必须保证nginx程序有权限访问它。而使用yum方式安装的nginx会自动创建一个系统账号叫nginx,专门用来运行nginx,所以你得保证用户nginx对网页文件夹有访问权限,可以使用命令chown -R nginx:nginx /data对整个根文件夹进行授权。不建议偷懒使用chmod -R 777 /data对其授权,这比较危险。也不建议使用root身份来运行nginx。


6.别忘记重要的事情,配置完之后要重启nginx服务

systemctl restart nginx



上一篇: 常见问题1

下一篇: 返回列表

站点信息

  • 博主:小程
  • QQ:1697915848
  • 邮箱:1697915848@qq.com