域名的形式

域名的形式,第1张

Nginx定义域名访问方式

本文主要介绍Nginx定义的域名访问方法,具有很好的参考价值。希望对大家有帮助。来和边肖一起看看吧。

最近Nginx刚建成的时候,无法访问域名。

nginx的配置文件nginx.conf中的服务器配置如下:

server{ listen80; server_namehehe.weige.com; #charsetkoi8-r; #access_loglogs/host.access.logmain; location/{ roothtml-hehe; indexindex.htmlindex.htm; } }

配置后执行sbin目录中的命令。/nginx-sreload重新加载配置文件。

加载浏览器地址栏后,进入hehe.weige.com,一直无法访问。

这个问题困扰我很久了。

我搜了很多大神的博客,配置都没有问题。最后还是我自己想出来的。这里强调两个最基本最简单的问题。

1同一个域名只能对应一个IP,同一个IP可以对应多个域名。

2当访问一个网站时,系统将首先去你的本地主机(C:\windows\system32\drivers\etc)文件中寻找它。如果域名存在,则访问域名对应的IP。

如果不存在,我们就去网上找。

看第二点,我的本地hosts文件根本没有配置域名www.weige.com,所以我去网上查了一下。而且这个域名是我自定义的,所以在网上查不到。所以访问失败了。

第一张图片出现。大家的大神博客都没有强调这个问题。是他们疏忽还是我基础太差????嘿!别抱怨了。配置主机后,出现下图

然后重启电脑(不知道有没有不重启电脑的办法。如果读者有什么方法可以分享,谢谢!)

再次在浏览器中输入hehe.weige.com。访问成功。

补充知识:Nginx指定域名(或子域名)和网站绑定

问题的原因

最近博主在CentOS上又部署了一个网站,但是不想通过端口号访问,因为端口号对SEO优化不利,用户访问繁琐(使用域名不就是为了方便用户访问吗?引入端口号不是与域名的使用目的相违背吗?),所以想在CentOS的80端口上同时运行两个网站。nginx通过请求的域名返回对应根目录下的网站,从而达到80口复用,同时运行多个网站的目的。

实施步骤

为了您的方便,当您需要询问路径时,本文使用pwd命令打印出博主当前步骤的路径。

检查nginx配置文件路径(重要)

注意:这一步非常关键。如果修改了错误的nginx配置文件,所有的修改都会无效,甚至你探索了几个小时也无法知道为什么修改无效。

使用命令

$nginx-V

查看nginx的一些配置信息,如下(你的和博主的显示内容可能不一样,不影响):

nginxversion:nginx/1.12.2 builtbygcc4.8.520150623(RedHat4.8.5-16)(GCC) builtwithOpenSSL1.0.2k-fips26Jan2017 TLSSNIsupportenabled configurearguments:--prefix=/usr/share/nginx--sbin-path=/usr/sbin/nginx--modules-path=/usr/lib64/nginx/modules--conf-path=/etc/nginx/nginx.conf--error-log-path=/var/log/nginx/error.log--http-log-path=/var/log/nginx/access.log--http-client-body-temp-path=/var/lib/nginx/tmp/client_body--http-proxy-temp-path=/var/lib/nginx/tmp/proxy--http-fastcgi-temp-path=/var/lib/nginx/tmp/fastcgi--http-uwsgi-temp-path=/var/lib/nginx/tmp/uwsgi--http-scgi-temp-path=/var/lib/nginx/tmp/scgi--pid-path=/run/nginx.pid--lock-path=/run/lock/subsys/nginx--user=nginx--group=nginx--with-file-aio--with-ipv6--with-http_auth_request_module--with-http_ssl_module--with-http_v2_module--with-http_realip_module--with-http_addition_module--with-http_xslt_module=dynamic--with-http_image_filter_module=dynamic--with-http_geoip_module=dynamic--with-http_sub_module--with-http_dav_module--with-http_flv_module--with-http_mp4_module--with-http_gunzip_module--with-http_gzip_static_module--with-http_random_index_module--with-http_secure_link_module--with-http_degradation_module--with-http_slice_module--with-http_stub_status_module--with-http_perl_module=dynamic--with-mail=dynamic--with-mail_ssl_module--with-pcre--with-pcre-jit--with-stream=dynamic--with-stream_ssl_module--with-google_perftools_module--with-debug--with-cc-opt='-O2-g-pipe-Wall-Wp,-D_FORTIFY_SOURCE=2-fexceptions-fstack-protector-strong--param=ssp-buffer-size=4-grecord-gcc-switches-specs=/usr/lib/rpm/redhat/redhat-hardened-cc1-m64-mtune=generic'--with-ld-opt='-Wl,-z,relro-specs=/usr/lib/rpm/redhat/redhat-hardened-ld-Wl,-E'

我们只需要注意entry-conf-path=/etc/nginx/nginx.conf,它表示当前nginx程序使用的默认配置文件。

创建新的网站配置文件

根据上面的配置文件路径,首先将目录切换到nginx的配置路径:

$cd/etc/nginx

然后新建一个站点配置文件,建议放在nginx配置目录下的vhost目录下。如果您目前没有此目录,您可以创建一个新目录:

$pwd /etc/nginx $sudomkdirvhost $ls conf.dfastcgi_paramsmime.typesscgi_paramsvhost default.dfastcgi_params.defaultmime.types.defaultscgi_params.defaultwin-utf fastcgi.confkoi-utfnginx.confuwsgi_params fastcgi.conf.defaultkoi-winnginx.conf.defaultuwsgi_params.default

注意:/etc是系统目录,普通用户没有修改权限。你需要用sudo在这个目录下用管理员权限修改,比如新建,修改文件,创建文件夹等。

进入新创建的vhost目录,新建一个配置文件,比如mysite.conf这个配置文件的文件名不限,最好是你的网站名之类的,容易识别,但是一定要带后缀。糖膏剂

$pwd /etc/nginx $cdvhost/ $pwd /etc/nginx/vhost $sudotouchmysite.conf $ls mysite.conftrans.conf

其中,touch命令创建了一个名为mysite.conf(空file)的配置文件,这是本文要介绍的配置文件,另外一个是博主正在运行的网站,不用担心。

修改网站简介信息

本文将建立一个名为mysite的网站,其根目录为/home/www/mysite,网站域名为mysite.jinhangdev.cn。

用任何文本编辑器打开mysite.conf,输入以下内容并保存(注意需要管理员权限):

server{ listen80;#网站的端口一般为80,可以与其他网站一起使用该端口 server_namemysite.jinhangdev.cn;#要绑定的域名(或子域名) root/home/www/mysite;#该网站的根目录 location/{#不用管 } }

以上内容是一个服务器的内容。下面讲nginx.conf的配置时,我们会区分在服务器内写一行配置和在服务器外写一行配置的区别。

$pwd /etc/nginx/vhost $ls mysite.conftrans.conf $sudovimmysite.conf $catmysite.conf server{ listen80; server_namemysite.jinhangdev.cn; root/home/www/mysite; location/{ } }

上面,我们新建了一个网站,使用服务器的端口80,绑定的域名是mysite.jinhangdev.cn,网站的根目录使用/home/www/mysite。

修改nginx配置文件

配置了以下密钥文件nginx.conf。建议修改前先备份,养成好习惯:

$pwd /etc/nginx $sudocpnginx.confnginx.conf.bak

原始配置保存到nginx.conf.bak后,继续下面的 *** 作。如果后期发现修改有误,可以将nginx.conf.bak重新命名为nginx.conf使用。

使用文本编辑器以超级用户权限打开nginx.conf:

$sudovimnginx.conf

和编辑。

nginx配置文件的结构

这里,我们只介绍一些与addon域配置相关的结构,即http部分:

http{ (各种配置) }

这里的设置都是http的全局配置。如果您想要单独配置网站,您需要为每台服务器单独设置:

http{ (此处的配置是全局的配置参数) server{ (此处的配置是本server的配置参数) } server{ (此处的配置是本server的配置参数) } (此处的配置是全局的配置参数) }

但是我们并不提倡所有的服务器都要用nginx.conf来扩展和编写,所以我们用一个include语句来引用vhost下所有网站的配置。注意:include命令只是替换文本。

所以我们在nginx.conf的http部分的最后写了一句话:

http{ (前面的若干配置) include/etc/nginx/vhost/*.conf; }

就这样,一切。vhost下的conf文件通过文本替换引入nginx.conf。

重新启动nginx服务

使用命令:

$sudo服务nginxrestart
重定向到/bin/systemCTLrestartnginx.service

重新启动nginx服务。

有问题:重新启动服务报告了一个错误。

此时,您可以使用该命令:

$sudo服务nginx状态-l

查看错误消息和错误日志。输入此命令后,日志不会立即显示,但会在几秒钟后显示。l选项使每个日志能够完整地显示在屏幕上,否则,当日志太长时,中间的文本将被替换为...

如果有问题,十有八九日志会说加载nginx.conf有错误,这多半是因为你在nginx.conf或者mysite.conf中配置错误

访问新网站

在新的二级域名中添加DNS解析后,当你在浏览器中访问mysite.jinhangdev.cn时,一般会报错404未找到。这是因为本文到目前为止还没有创建这个新网站的根目录,一个404错误说明前面的配置是正确的,所以在下一步中,我们将创建一个简单的网页来运行。

创建新网站的根目录(或使用现有目录)

博主习惯把网站的文件放在/home/www下,给目录0777权限,避免403错误,虽然这样不太安全。鉴于博主水平有限,希望有安全需求的读者关注其他安全大牛的文章。博主道歉。

在/home/www下设置目录mysite(blogger已经创建了/home/www的目录,使用chmod命令授予0777权限):

$cd/home/www/ $mkdirmysite $ls mysitetrans

切换到mysite目录并简单地创建一个网页:

$pwd /home/www $cdmysite/ $echohello!>index.html $ls index.html $catindex.html hello!

此时,在浏览器中再次访问,可以看到一行hello!,表示新网站创建成功。

结论

以上是创建一个新网站的addon域的过程。如有博主不理解或错误,请在评论区指正。我很感激!希望给大家一个参考,支持我们。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/774515.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-03
下一篇 2022-05-03

发表评论

登录后才能评论

评论列表(0条)

保存