设为首页 收藏本站
查看: 798|回复: 0

[经验分享] Ubuntu Linux下配置虚拟主机及其配置文件详细说明

[复制链接]

尚未签到

发表于 2018-5-6 12:53:28 | 显示全部楼层 |阅读模式
  用Apache配置虚拟主机
  apache不仅支持基于域名的虚拟主机,还支持基于IP的虚拟主机,每一个apache虚拟主机都有单独的配置文件在/etc/apache2/sites-available中,default是默认的虚拟主机,这个虚拟主机在安装时已经被链接到 /etc/apache2/sites-enabled 目录下,在浏览器中访问服务器IP地址,将会出现 “It Works”。
  创建一个新的虚拟主机:
  假设我们要创建一个域名为 blog.mytest.com 的虚拟主机,先将default虚拟主机复制一份,以便在此基础上修改。
  sudo cp /etc/apache2/sites-available/default   /etc/apache2/sites-available/blog.mytest.com
  在用编辑器编辑配置文件,sudo nano /etc/apache2/sites-available/blog.mytest.com
  在打开的编辑器中,将第一行NameVirtualHost指令删除,然后将DocumentRoot的路径修改为 /var/www/blog.mytest.com/,
  将<Directory /var/www/>修改为<Directory /var/www/blog.mytest.com/>,然后保存。
  如果有多个虚拟主机,建议修改ErrorLog和CustomLog的路径,这样可以把每个虚拟主机的日志分开,有利于管理维护。
  当保存完后创建相应目录,sudo mkdir /var/www/blog.mytest.com ,并创建一个index.html文件,写入测试内容如:&quot;<h1>Oh yeah</h1>&quot;,到此虚拟主机建立完成。
  然后禁用default虚拟主机,启用新建的blog.mytest.com虚拟主机,sudo a2dissite default && sudo a2ensite blog.mytest.com
  再重启apache  sudo /etc/init.d/apache2 restart
  虚拟主机配置详解:
  以默认的default虚拟主机为例,来对虚拟主机配置文件中的各个指令进行介绍
  (1) NameVirtualHost指令
  该指令用来指定服务器的IP地址,如NameVirtualHost  192.168.1.10:8080,当服务器有多个网卡,多条线路时,通过这条指令可以设置某个网站只能从某个网卡走。如果不指定IP,而已 * 代替,则该虚拟主机可以从所有网卡走。注意,在整个系统中,该指令只要有一个即可,所以可只保留default虚拟主机中的该指令,其他虚拟主机全部删除该指令。
  (2)<VirtualHost></VirtualHost>指令
  在该指令内部包含了一组其他指令,且这些指令只作用于当前虚拟主机。和NameVirtualHost指令类似,<VirtualHost>指令中的IP地址,也可用星号来表示本机所有的IP地址。
  (3)ServerAdmin指令
  用于指定站长的E-mail地址,当用户访问该网站时,如果遇到错误,则apache将显示这个E-mail,用户可以借此和站长联系。
  (4)DocumentRoot指令
  指定网站根目录,一般设置为绝对路径。
  (5)<Directory></Directory>指令
  他们中间所包含的指令仅对当前目录有效。
  (6)Options指令
  Options指令用来配置指定目录的特性,比如是否允许该目录下有符号链接,是否使用CGI等,这些特性包括:
  All   除MultiViews之外的所有特性(默认设置)。
  ExecCGI    允许该目录通过mod_cgi运行CGI脚本。
  FollowSymLinks    允许在此目录中使用符号链接。
  Includes               在该目录中允许使用mod_include进行服务器端包含。
  IncludesNOEXEC  允许服务器端包含,但禁用”exec cmd“和#exec cgi“。
  Indexes                允许列目录,如果某个被访问的目录中没有DirectoryIndex指定的文件(如index.html),服务器将生成并显示目录列表。
  MultiViews            允许”内容协商“的”多重视图“。
  SymLinksIfOwnerMatch    只允许使用这样的符号链接:这些符号链接与目标目录(或文件)的所有者具有相同的UserID。
  (7)AllowOverride指令
  该指令是针对.htaccess文件的,可以允许该文件的全部指令,也可以允许某些类型的指令,获全部禁止,apache本来默认值是Alll,允许.htaccess全部指令,但出于安全考虑,ubuntu将其改为了AllowOverride None(直接忽略.htaccess文件)。
  (8)Order指令
  该指令用来控制默认的访问状态,以及Allow和Deny指令的生效顺序。
  (9)Allow指令
  该指令可以用来控制哪些主机可以访问,可根据主机名、IP地址、IP范围或其他环境变量的定义来进行控制。
  (10)Deny指令
  该指令用来限制主机的访问,其语法和参数与Allow指令完全相同。
  (11)ErrorLog指令
  该指令定义了错误日志的位置,ErrorLog  /var/log/apache2/error_log
  (12)LogLevel指令
  该指令用来控制日志的详细程度的级别,每个级别所输出的信息都会包含上一级别的信息。
  (13)CustomLog指令
  该指令定义了访问日志的路径和格式。
  (14)ServerSignature指令
  该指令如果设置为Off,那么服务器生成的网页底端不会有附加信息,如果设置为On,那么在某些情况下(比如目录列表),服务器生成的网页底部会有类似这样的信息:Apache/2.2.8 (ubuntu) Server at blog.mytest.com Port 80
  (15)Alias指令
  它提供路径别名,通过该指令,即使某个目录或文件不在DocumentRoot所设置的路径下,也可以通过Alias指令使其可访问,
  比如Alias  /doc/  &quot;/usr/share/doc&quot; ,它是将/usr/share/doc映射成网站的 /doc/

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-456576-1-1.html 上篇帖子: Ubuntu部署KVM服务器 下篇帖子: ubuntu下配置开机启动服务
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表