突然有一个想法,当然这个需求不是无厘头的,是因为见到过这种操作。就是说主域名作为我的个人网站的域名,然后再有一个子域名作为我写demo用的一个域名,具体来说要怎么做呢,看下面:
1、先去主机服务商那里解析自己定义的子域名
2、配置nginx
1)新创建一个.conf文件
名字可以自定义,然后随便放入一个文件夹里面,最好是nginx.conf同级目录的文件夹,因为比较方便,.conf文件内容如下:
- server {
- listen 80; #监听端口
- server_name 你的子域名.haoht123.com; #绑定域名
- root /home/html; #网站根目录,建议使用绝对路径
- index index.php index.html index.htm; #默认文件
- #添加对php的解析
- location ~ \.php$ {
- fastcgi_pass 127.0.0.1:9000;
- fastcgi_index index.php;
- fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
- include /usr/local/nginx/conf/fastcgi_params;
- }
- #添加错误页面,利于搜索引擎收录以及良好的用户体验
- error_page 404 /404.html;
- location /404.html {
- root /home/html;
- }
- error_page 500 502 503 504 /50x.html;
- location =/50x.html {
- root /home/html;
- }
- }
2)在nginx.conf引入新创建的.conf文件
在http模块
引入创建的.conf文件,默认情况是有这样一段代码include vhost/*.conf;
,意思是说引入vhost文件夹中的所有.conf文件,所以说如果你有vhost文件夹,可以把上一步创建的.conf文件放进去。
最后,在捯饬的过程中,遇到了以下问题:
- 文件配置好之后,子域名打不开,总是301到个人网站。于是乎,把nginx配置中的rewrite 301代码删除,在服务器开启强制301跳转。
- 子域名不支持SSL,如果想要支持SSL,需要申请泛域名证书并且配置。
- 因为子域名没有开启CDN,人怂,所以文中做了马赛克处理。
完。
微信小程序
互联网开发,终身学习者,欢迎您的关注!
2018年7月7日 下午1:31
才发现你的缩略图很有意思 居然是bing的每日一图~
2018年7月7日 下午1:59
@龙笑天 哈哈,被发现啦
2018年7月5日 下午10:04
我还真没试过在nginx使用子域名,每次想折腾新站都是直接购买新域名,因为域名价格不算贵,不过下次看来可以折腾折腾子域名试试。
2018年7月5日 下午10:13
@懿古今 可以试试的呢,挺方便的
2018年7月3日 上午11:35
emmm,子域名不一定需要泛域名证书哦
2018年7月3日 上午11:37
@戴兜 emmmm,如果没有泛域名证书是不是不可以开SSL
2018年7月3日 上午11:59
@舍得 可以用单域名证书啊(逃
2018年7月3日 下午1:24
@戴兜 好像是这样