本文目录:
- 1、nginx 域名配置
- 2、nginx如何绑定二级域名
- 3、使用nginx为Nexus3绑定不同域名
- 4、配置服务器 —— Nginx添加多个二级子域名 — 2018-06-26
- 5、Nginx 虚拟域名配置
- 6、Nginx反向代理docker容器进行域名解析绑定的实现方法
nginx 域名配置
Nginx 多域名配置 – Rickzhai – 博客园
首先打开nginx域名配置文件存放目录:/usr/local/nginx/conf/servers ,如要绑定域名 则在此目录建一个文件: 然后在此文件中写规则,如:
server{
listen 80;
server_name ; 绑定域名
index index.htm index.html index.php; 默认文件
root /home/www/itblood.com; 网站根目录
include location.conf; 调用其他规则,也可去除
}
然后重起nginx服务器,域名就绑定成功了nginx服务器重起命令:/etc/init.d/nginx restart
nginx如何绑定二级域名
nginx绑定二级域名是通过编辑配置文件中的server 的server_name来处理的。
如:
server {
listen 8001;
server_name domain_name;
charset koi8-r;
access_log logs/access.log main;
location / {
root html;
index index.html index.htm;
}
}
使用nginx为Nexus3绑定不同域名
首先创建虚拟网络
安装Nginx
创建配置文件nginx.conf
创建配置文件default.conf
创建配置文件hub.conf
创建配置文件nexus.conf
安装Nginx
配置域名指向
域名管理中,为当前域名添加几个子域名的A记录,指向这台服务器的IP(如果是公网云服务器,则指向其公网IP),没有域名的可以本机host文件模拟。
配置服务器 —— Nginx添加多个二级子域名 — 2018-06-26
Nginx多文件配置二级子域名(推荐)
首先,在自己的域名控制台中添加解析,这里以添加blog前缀为例
我用的是万网,在 解析设置 中 添加解析
主机记录 :你想要的二级域名
记录值 :你的IP地址
保存后,我们就完成了第一步把子域名解析到我们的服务器上。
第二步:添加配置文件
进入nginx的 /conf 配置文件夹中,编辑 nginx.conf 文件
[root@iZ2844brz0xZ~] cd /usr/local/nginx/conf/[root@iZ2844brz0xZ~] vim nginx.conf
在 http 模块中添加如下语句
include/usr/local/nginx/conf/sites-enabled/*.conf;
告诉这个配置文件要去包含 /sites-enabled 目录下的所有以 .conf 结尾的配置文件。:wq 保存。
此时,我们新建一个 /sites-enabled 文件夹,并在其中添加 blog.***.com.conf 文件
[root@iZ2844brz0xZconf] mkdir sites-enabled[root@iZ2844brz0xZsites-enabled] vim blog.***.com.conf
在文件中添加
server {listen80;监听端口server_name blog.***.com;绑定域名root /usr/local/nginx/html/blog/;网站根目录,建议使用绝对路径indexindex.phpindex.htmlindex.htm;默认文件添加对php的解析location ~ \.php$ { fastcgi_pass127.0.0.1:9000; fastcgi_indexindex.php; fastcgi_param SCRIPT_FILENAME$document_root$fastcgi_script_name; include /usr/local/nginx/conf/fastcgi_params; }添加错误页面,利于搜索引擎收录以及良好的用户体验error_page404/404.html; location /404.html { root /usr/local/nginx/html/; } error_page500502503504/50x.html; location =/50x.html {
root /usr/local/nginx/html/; }}
内容可自行添加
Nginx单文件配置二级子域名
在 nginx.conf 文件的 server 模块中添加以下语句
if($host~* (\b(?!www\b)\w+)\.\w+\.\w+ ) { set$subdomain/$1;}location / { root html$subdomain;indexindex.htmlindex.phpindex.htmindex;}
即可解析到对应文件夹
最后,重启nginx即可
[root@iZ2844brz0xZsites-enabled] /usr/local/nginx/sbin/nginx -s reload
来自:
Nginx 虚拟域名配置
1,首先保证Nginx运行正常,可以用localhost/blog/index.php/任何路由,访问到自己配置的地址。
2,找到nginx的目录,找到nginx.conf。在http下新增 include vhosts/*.conf。vhosts可以替换成任意值。后续需要在nginx.conf同级目录下,新增vhosts目录,新增文件myhost.conf。新增的文件就是Nginx要读取的新的虚拟域名的相关配置
3,myhost.conf里主要配置server中的listen 监听的端口,server_name 需要配置的虚拟域名,root 虚拟域名指向的路径,示例配置如下:
Nginx反向代理docker容器进行域名解析绑定的实现方法
可以把多个域名映射到同一个IP地址上
docker 镜像名称由REPOSITORY和TAG组成 [REPOSITORY[:TAG]] ,TAG默认为latest
在宿主机创建持久化 conf–配置目录 html–静态网站目录 logs–日志目录 cert–存放证书目录
将容器内的 nginx.conf 与 default.conf 文件分别拷贝到主机/mnt/nginx与目录/mnt/nginx/conf下,分别执行
conf目录下创建nginx.conf文件
首先要在域名管理中做好域名简析
在conf.d目录下创建 域名为ab.baidu.com的配置文件 ab.baidu.com.conf 文件 包含ssl证书
在conf.d目录下创建 域名为gh.baidu.com的配置文件 gh.baidu.com.conf 文件 包含ssl证书
ginx.conf并没有在etc/nginx/conf目录下。
允许https访问 的 default.conf 文件
将服务器的配置文件挂载到容器中,这样我们修改配置文件会方便一些。
退出nginx容器,将容器中的文件nginx.conf先拷贝到宿主机中,conf.d目录下的 default.conf 文件拷贝出来
执行 docker stop ef 命令停止刚刚创建的nginx容器,ef是容器Id,然后执行 docker rm ef 移除容器,
-v /docker-root/nginx/conf/nginx.conf :/etc/nginx/nginx.conf
/docker-root/nginx/conf/nginx.conf 宿主机中的ngix配置文件 挂载 到容器的 /etc/nginx/nginx.conf 配置文件
-v /docker-root/nginx/conf/conf.d:/etc/nginx/conf.d
/docker-root/nginx/conf/conf.d 宿主机中的 配置目录 conf.d 挂载到 容器的 /etc/nginx/conf.d 目录上
-v /docker-root/nginx/cert:/cert/
映射ssl 证书文件
命令,重新创建nginx容器
这样就可以将配置文件、log、静态页面映射到宿主机中。需要修改或者查看直接在宿主机中修改或者查看就可以了。需要注意的是, 配置文件虽然映射到宿主机中,但是如需配置路径,还需配置成容器中的路径 。
注意发布到 云服务器上 服务器安全组是否开放了443端口。
把 vue 生成的 dist目录下的文件 上传到 服务器
/root/docker-root/vue-mcyl-src
文件目录 dist 目录 Dockerfile 文件
转到 此目录下
使用下面的命令 生成镜像
启动容器
docker run -d mcyl-vue:v1.0
conf.d 目录下的配置文件 default.conf
防火墙原因,需要将通信的端口开放
解决办法:
firewall-cmd –zone=public –add-port=9080/tcp –permanent
firewall-cmd –zone=public –add-port=8080-8080/tcp
参考
本文来源:https://www.yuntue.com/post/140934.html | 云服务器网,转载请注明出处!