nginx配置子域名

2018年7月1日17:27:24 8 阅读(3,944)

突然有一个想法,当然这个需求不是无厘头的,是因为见到过这种操作。就是说主域名作为我的个人网站的域名,然后再有一个子域名作为我写demo用的一个域名,具体来说要怎么做呢,看下面:

1、先去主机服务商那里解析自己定义的子域名

nginx配置子域名

 2、配置nginx

1)新创建一个.conf文件

名字可以自定义,然后随便放入一个文件夹里面,最好是nginx.conf同级目录的文件夹,因为比较方便,.conf文件内容如下:

  1. server {
  2.     listen 80;                              #监听端口
  3.     server_name 你的子域名.haoht123.com;    #绑定域名
  4.     root /home/html;       #网站根目录,建议使用绝对路径
  5.     index index.php index.html index.htm;   #默认文件
  6.     #添加对php的解析
  7.     location ~ \.php$ {
  8.         fastcgi_pass   127.0.0.1:9000;
  9.         fastcgi_index  index.php;
  10.         fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
  11.         include        /usr/local/nginx/conf/fastcgi_params;
  12.     }
  13.     #添加错误页面,利于搜索引擎收录以及良好的用户体验
  14.     error_page 404 /404.html;
  15.     location /404.html {
  16.         root /home/html;
  17.     }
  18.     error_page 500 502 503 504 /50x.html;
  19.     location =/50x.html {
  20.         root /home/html;
  21.     }
  22. }

2)在nginx.conf引入新创建的.conf文件

http模块引入创建的.conf文件,默认情况是有这样一段代码include vhost/*.conf;,意思是说引入vhost文件夹中的所有.conf文件,所以说如果你有vhost文件夹,可以把上一步创建的.conf文件放进去。

 

最后,在捯饬的过程中,遇到了以下问题:

  1. 文件配置好之后,子域名打不开,总是301到个人网站。于是乎,把nginx配置中的rewrite 301代码删除,在服务器开启强制301跳转。
  2. 子域名不支持SSL,如果想要支持SSL,需要申请泛域名证书并且配置。
  3. 因为子域名没有开启CDN,人怂,所以文中做了马赛克处理。

 

完。


 

weinxin
微信小程序
互联网开发,终身学习者,欢迎您的关注!
舍得

发表评论

不高兴 彩虹 吃瓜 丢翔 乖 滑稽 花心 惊哭 惊讶 挤眼 酷 伤心 帅吗? 礼物 玫瑰 怒 生气 喷 睡觉 太开心 小九九 啊
太阳 吐舌 委屈 笑眼 星星月亮 心碎 咦 阴险 疑问 真棒 偷笑 斜眼笑 震惊 略 哈欠 无奈哭 抠鼻 哼 期待 懒得理你 爱心 蜡烛

目前评论:8   其中:访客  4   博主  4

    • 龙笑天 龙笑天 1

      才发现你的缩略图很有意思 居然是bing的每日一图~ [真棒]

        • 舍得 舍得

          @龙笑天 哈哈,被发现啦 [吐舌]

        • 懿古今 懿古今 3

          我还真没试过在nginx使用子域名,每次想折腾新站都是直接购买新域名,因为域名价格不算贵,不过下次看来可以折腾折腾子域名试试。

            • 舍得 舍得

              @懿古今 可以试试的呢,挺方便的 [太开心]

            • 戴兜 戴兜 1

              emmm,子域名不一定需要泛域名证书哦

                • 舍得 舍得

                  @戴兜 emmmm,如果没有泛域名证书是不是不可以开SSL