您的位置:首页 > 运维架构 > Linux

Spring Boot项目CentOS域名的绑定

2018-03-02 00:00 901 查看
我们拿阿里云的ECS云服务器CentOS7+来举例:

1、修改nginx默认的配置文件:

以 YUM 安装的 Nginx 为例:

1.执行命令
vi /etc/nginx/nginx.conf
编辑 Nginx 的配置文件,将默认的
server {...}
配置修改为以下内容:

server {
listen    80 default_server;
server_name    www.123.com;
root    /home/web1;
location / {
}
error_page 404 /404.html;
location = /40x.html {
}
error_page 500 502 503 504 /50.xhtml;
location = /50x.html {
}
}
server {
server_name www.abc.com;
root    /home/web2;
location / {
}
error_page 404 /404.html;
location = /40x.html {
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
}
}


访问 www.123.com 时,跳转到 /home/web1 目录。

访问 www.abc.com 时,跳转到 /home/web2 目录。

2.执行命令
nginx -s reload
重启 Nginx 服务。

其他方式也可以直接看阿里云教程:https://help.aliyun.com/knowledge_detail/41091.html?spm=5176.11065259.1996646101.searchclickresult.4b2b44e3xqAmBg

2、添加自定义的配置文件:

远程连接并登录到 Linux 实例。

执行命令
cd /etc/nginx/conf.d
打开 Nginx 服务配置文件目录。

执行命令
vi 您要创建的域名.conf
创建域名规则配置文件,如示例中的
vi www.server110.com.conf


输入
i
编辑新建的配置文件:

为每一个域名建立一个单独的配置文件时输入以下内容:

server
{
listen   80;                            #监听端口设为 80。
server_name  www.server110.com;         #绑定您的域名。
index index.htm index.html index.php;   #指定默认文件。
root /home/www/server110.com;           #指定网站根目录。
include location.conf;                  #当您需要调用其他配置文件时才粘贴此项,如无需要,请删除此项。
}


将多个域名规则写进一个共同的配置文件时输入以下内容:

server
{
listen   80;                            #监听端口设为 80。
server_name  www.server110.com;         #绑定您的域名。
index index.htm index.html index.php;   #指定默认文件。
root /home/www/server110.com;           #指定网站根目录。
include location.conf;                  #当您需要调用其他配置文件时才粘贴此项,如无需要,请删除此项。
}
server
{
listen 80; #监听端口设为 80。
server_name msn.server111.com; #绑定您的域名。
index index.htm index.html index.php; #指定默认文件。
root /home/www/msn.server110.com; #指定网站根目录。
include location.conf; #当您需要调用其他配置文件时才粘贴此项,如无需要,请删除此项。
}

为无 WWW 前缀的域名配置规则并加 301 跳转时输入以下内容:

server
{
listen 80;
server_name server110.com;
rewrite ^/(.*) http://www.server110.com/$1 permanent;
}

需要为域名添加 404 提示时输入以下内容:

server
{
listen   80;                            #监听端口设为 80。
server_name  www.server110.com;         #绑定您的域名。
index index.htm index.html index.php;   #指定默认文件。
root /home/www/server110.com;           #指定网站根目录。
include location.conf;                  #当您需要调用其他配置文件时才粘贴此项,如无需要,请删除此项。
error_page 404   /404.html;
}


按 Esc 退出编辑并输入
:wq
保存退出。

执行命令
nginx -t
检查配置是否有误,并按照报错提示修复错误。

执行命令
service nginx restart
重启 Nginx 服务。

执行命令
service nginx reload
重新载入 Nginx 服务。

也可以直接查看:https://help.aliyun.com/knowledge_detail/41467.html?spm=5176.11065259.1996646101.searchclickresult.967f7c56pRSqjt

那么是否只需要上述操作就可以了呢,如果是php或者静态的html,是完全没问题的,但我们的Spring Boot项目可能一个项目一个端口,那在此基础上还需要修改一下代码:

upstream xx{ #配置upstream节点,这里节点名为“xx”
server 116.255.111.111:8080;
}

server{
listen 80;
server_name  www.xxx.xx; #这里配置nginx需要代理的域名
location / {
proxy_pass http://xx; #指定反向代理为上面配置的那个upstream节点“xx”
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}

我的配置:/etc/nginx/conf.d/domain.conf

upstream resumehubServer{
server localhost:8080;
}
server
{
listen   80;                            #监听端口设为 80。
server_name  www.resumehub.cn;         #绑定您的域名。
index index.htm index.html index.php;   #指定默认文件。
root /opt/resume;           #指定网站根目录。
location / {
proxy_pass http://resumehubServer; #指定反向代理为上面配置的那个upstream节点“xx”
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}

之所以在/etc/nginx/conf.d/目录下的文件都可以域名映射,是因为在/etc/nginx/nginx.conf文件中include了这个目录下的所有conf文件

上面的upstream指定当前服务器部署的web服务的端口。

参考文档:http://blog.csdn.net/xianglingchuan/article/details/67684219
http://blog.csdn.net/ajian759447583/article/details/50437933 https://www.cnblogs.com/yinxiang/p/5298960.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  域名绑定