通过购买了服务器和域名,经过TCP备案,假设我们所买的域名为:abc.com。我们可以直接在浏览器访问abc.com,此时abc.com就解析成我们所购买服务器的外网ip了(如我们服务器的外网ip为:1.1.1.1),也就是说我们浏览器发起abc.com请求时,已经就是请求我们的外网ip:1.1.1.1,并且访问的端口默认为80。
那这么说,我直接在80启一个服务,然后把项目放进去(这里只指前端静态页),那岂不是通过abc.com就可以访问这个项目了?没错是这样的。
提问:我有多个项目,并且想让每个项目拥有自己的域名?那怎么办?
这时就是需要我们的配置子域名了,步骤可分为两大步骤:
一、创建一个子域名
在哪里购买的域名,就去哪里解析,这里以腾讯云为例:
点击解析,然后进去创建既可。假设我们创建一个子域名为:blog.abc.com
二、配置nginx
1、进入nginx的 /conf 配置文件夹中,编辑 nginx.conf
文件
注意:以下我们都以顶级域名abc.com
为例
cd /usr/local/nginx/conf/
vim nginx.conf
在 http 模块中添加如下语句
include /usr/local/nginx/conf/sites-enabled/*.conf;
告诉这个配置文件要去包含 /sites-enabled
目录下的所有以 .conf
结尾的配置文件。:wq
保存。
2、我们新建一个 /sites-enabled
文件夹,并在其中添加 blog.abc.com.conf
文件
注意:是在/usr/local/nginx/conf/
文件下创建/sites-enabled
文件夹
mkdir sites-enabled
cd /mkdir sites-enabled
vim blog.abc.com.conf
在文件中添加:
server {
listen 80; #监听端口
server_name blog.abc.com; #绑定域名
root /usr/local/nginx/html/blog/; #网站根目录,建议使用绝对路径
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 /usr/local/nginx/html/;
}
error_page 500 502 503 504 /50x.html;
location =/50x.html {
root /usr/local/nginx/html/;
}
}
3、最后,重启nginx即可
/usr/local/nginx/sbin/nginx
./nginx -s reload