Apache与Nginx虚拟主机设置(多域名和多端口的区别)

为了方便管理虚拟主机,应该尽量少修改主配置文件http.conf或者nginx.conf,大部分修改变更都在虚拟主机片配置文件httpd- vhost.conf或者vhost.conf中完成,这样有利于调试,降低风险。即便把虚拟主机配置文件修改得一团糟,只要把主配置文件中包含虚拟主机 配置文件的一行注释掉即可。

Apache(多域名):

第一步首先要使扩展文件httpd/conf.d/vhosts.conf生效:
1. 打开 apache2/conf/httpd.conf 文件
2. 找到 # Include conf/extra/httpd-vhosts.conf
3. 去掉前面的注释符#号
4. 打开 apache2/conf/extra/httpd-vhosts.conf
5. 添加以上的多域名代码:
6. 打开  apache2/conf/extra/httpd-vhost.conf

在里面添加入下:
示例:
NameVirtualHost *:80 #用多域名时需加上这句

#先针对多出来的浏览目录进行权限规范

<Directory
"/usr/local/apache2/htdocs/www">

Options FollowSymLinks

AllowOverride ALL

Order allow,deny

Allow from all

</Directory>

<Directory
"/usr/local/apache2/htdocs/bbs">

Options FollowSymLinks

AllowOverride ALL

Order allow,deny

Allow from all

</Directory>

<VirtualHost 192.168.1.1:80>
#  192.168.1.1有可写成*
ServerAdmin  zhangjinfa3@gmail.com (你的邮箱)
DocumentRoot /usr/local/apache2/htdocs/www(此虚拟主机的根目录)
ServerName www.yumwei.com(此处为域名)
ErrorLog /usr/local/apache2/htdocs/www/error_log (日志)
TransferLog /usr/local/apache2/htdocs/www/access_log (日志)
</VirtualHost>

<VirtualHost
192.168.1.1:80>
ServerAdmin zhangjinfa3@gmail.com (你的邮箱)
DocumentRoot /usr/local/apache2/htdocs/bbs (此虚拟主机的根目录)
ServerName bbs.yumwei.com
(此处为域名)
ErrorLog /usr/local/apache2/htdocs/bbs/error_log (日志)
TransferLog /usr/local/apache2/htdocs/bbs/access_log (日志)
</VirtualHost>

在域名提供商那里设置DNS的A记录,将测试域名和服务器VPS的ip地址关联,这样在真机访问不同的域名会到达不同页面的网站,即实现了在一个主机上开多个网站的功能。

Apache 多端口

1. 打开 apache2/conf/httpd.conf 文件
2. 找到 # Include conf/extra/httpd-vhosts.conf
3. 去掉前面的注释符#号,并加入虚拟主机的监听 Listen
192.168.1.1:8088
4. 打开 apache2/conf/extra/httpd-vhosts.conf
5. 添加以上的多端口代码:
6. 打开 apache2/conf/extra/httpd-vhost.conf

在里面添加入下:

#NameVirtualHost *:80

#使用多端口必须注释掉上一句

<Directory
"/usr/local/apache2/htdocs/mail">

Options FollowSymLinks

AllowOverride ALL

Order allow,deny

Allow from all

</Directory>

<VirtualHost
192.168.1.1:8088>
ServerAdmin zhangjinfa3@gmail.com (你的邮箱)
DocumentRoot /usr/local/apache2/htdocs/mail(此虚拟主机的根目录)
ServerName 192.168.1.1:8088(此处为ip端口)
ErrorLog
/usr/local/apache2/htdocs/mail/error_log (日志)
TransferLog /usr/local/apache2/htdocs/mail/access_log (日志)
</VirtualHost>

此时只能使用 http://192.168.1.1:8088 进行网站的访问。

////////////////////////////////////////////////////////////////////////////////////////////

nginx虚拟主机配置

vi   #编辑主配置文件

http {
    ......
   
#gzip  on;
    include
/usr/local/nginx/conf.d/*.conf;  
#添加
    ......
}

##############################################################

vi
/usr/local/nginx/conf.d/vhost.conf   
#新建配置文件

server {  
       
listen 80;  
       
server_name www.yumwei.com
yumwei.com;  
       
#access_log logs/a.access.log
main;  
       
location / {  
               
index index.php;  
               
root /data/wwwroot;  
#网站的根目录
       
}

location ~ \.php$ {
           
root          
/data/wwwroot;
           
fastcgi_pass   127.0.0.1:9000;
           
fastcgi_index  index.php;
           
fastcgi_param  SCRIPT_FILENAME 
/data/wwwroot/$fastcgi_script_name;
           
include       
fastcgi_params;
       
}
 
   
}  
 
chown www:www -R  /data/wwwroot 
#设置权限
chmod 700 -R /data/wwwroot

外来访问此网站的用户即www用户,至少对此目录有可读可执行的权限,否则访问不了。

///////////////////////////////////////////////////////////////////////////////////////////

发散:

在httpd.conf中出现的User apache  Group apache
即外来访问网站人的身份(Apache的程序用户,启动worker或者prefork),若网站根目录/data/wwwroot/的所有者为
root,权限被设置为750,则访客无法浏览,因为被当作others一组,可以将目录设置为755,则访客可以浏览网页。同理,若管理员在服务器上添
加了一个用户则成为一个普通用户,可以设置自己的个人网站,Apache默认的个人首页是放在public_html/目录中,若simba用户默认目录
为/home/simba,那么他的个人首页默认在/home/simba/public_html/ 
。可以建立链接文件

# cd /data/wwwroot

# ln -s /home/simba/public_html simba

则以 http://www.yumwei.com/simba
则可以访问个人主页(与博客系统的个人主页不同),此时此主页目录所有者为simba,为了让其他访客浏览,也必须设置目录权限为755才可。

////////////////////////////////////////////////////////////////////////////////////

相关链接:  http://www.ccvita.com/297.html

时间: 2024-08-25 13:07:18

Apache与Nginx虚拟主机设置(多域名和多端口的区别)的相关文章

nginx虚拟主机设置

1.http服务上支持若干虚拟主机.每个虚拟主机一个对应的server配置项,配置项里面包含该虚拟主机相关的配置.参考文章,https://blog.csdn.net/liqi_q/article/details/78799121.2.什么是虚拟主机虚拟主机使用的是特殊的软硬件技术,它把一台运行在因特网上的服务器主机分成一台台"虚拟"的主机.每台虚拟主机都可以是一个独立的网站,可以具有独立的域名,具有完整的Intemet服务器功能(WWW.FTP.Email等).同一台主机上的虚拟主机

【转】如何在Ubuntu 14.04 LTS上设置Nginx虚拟主机

介绍 转自http://www.pandacademy.com/%E5%A6%82%E4%BD%95%E5%9C%A8ubuntu-14-04-lts%E4%B8%8A%E8%AE%BE%E7%BD%AEnginx%E8%99%9A%E6%8B%9F%E4%B8%BB%E6%9C%BA/#i-3 使用Nginx Web服务器时,可以使用server blocks(类似于Apache中的虚拟主机)来封装配置详细信息,并托管单个服务器的多个域. 在本教程中,我们将讨论如何在Ubuntu 14.04服

Nginx虚拟主机 (基于域名 基于端口 基于ip)

Nginx虚拟主机 基于域名的虚拟主机 基于IP地址的虚拟主机 基于端口的虚拟主机 一,安装DNS域名解析服务器 1,安装bind服务器 [[email protected] ~]# yum install bind -y 2,修改主配置文件(named.conf) [[email protected] ~]# vim /etc/named.conf options { listen-on port 53 { any; }; ##监听所有 listen-on-v6 port 53 { ::1;

nginx配置虚拟主机之基于域名

安装nginx请参考,nginx编译安装的博文 1:配置nginx虚拟主机,同一个端口80,多个不同的域名.nginx默认主配置文件内容如下 [[email protected] conf]# cat nginx.conf user  nginx; worker_processes  1; error_log  logs/error.log; pid        logs/nginx.pid; events {     worker_connections  1024; } http {   

Nginx虚拟主机之域名,端口,IP

要nginx源码包请私信我 Nginx虚拟主机之域名 [[email protected] ~]# yum install bind -y 配置DNS主配置文件 [[email protected] ~]# vim /etc/named.conf options { listen-on port 53 { any; }; listen-on-v6 port 53 { ::1; }; directory "/var/named"; dump-file "/var/named/d

搭建nginx虚拟主机——基于域名、端口和IP

Nginx支持的虚拟主机有三种 1.基于域名的虚拟主机2.基于IP的虚拟主机3.基于端口的虚拟主机且每一种虚拟主机均可通过"server{}" 配置段实现各自的功能 一.基于域名搭建 1.编译安装Nginx服务2.远程获取Windows上的源码包,并挂载到Linux上 [[email protected] ~]# smbclient -L //192.168.235.1 Enter SAMBA\root's password: Sharename Type Comment ------

Nginx虚拟主机多server_name的顺序问题

Nginx虚拟主机多server_name的顺序问题  大 | 中 | 小  [ 2008-11-28 11:27 | by 张宴 ] [文章作者:张宴 本文版本:v1.0 最后修改:2008.11.28 转载请注明原文链接:http://blog.zyan.cc/post/382/] 今天在配置Nginx + PHP + MediaWiki中,发现一个问题:MediaWiki所在的Nginx虚拟主机绑定了多个域名,但是不管通过什么域名访问MediaWiki首页,都会被跳转到其中的一个域名上.N

Nginx虚拟主机配置实践之nginx访问同一个地址方法(二)

Nginx虚拟主机配置实践之nginx访问同一个地址方法(二) 一.虚拟主机别名介绍 虚拟主机别名就是为虚拟主机设置除了主域名以外的另一个或多个域名名字,这样就能实现用户访问的多个域名对应于同一个虚拟主机网站的功能.在生产环境中,以www.afeilinux.com域名的虚拟主机为例,为其增加一个别名afeilinux.com时,在该域名出现的网站内容和访问www.afeilinux.com得到的结果是一样的. 二.实施方法 第一种方法:Nginx虚拟主机的别名配置 更改wtf.conf配置文件

配置nginx虚拟主机别名及别名企业场景应用说明

nginx虚拟主机的别名配置 1    虚拟主机别名介绍及配置 所谓虚拟主机别名,就是为了虚拟主机设置除了主域名以外的一个或多个域名名字,这样能实现用户访问的多个域名对应同一个虚拟主机网站的功能. 以www.etiantian.org域名的虚拟主机为例,为其增加一个别名etiantian.org,使得访问 [[email protected] bbs]# curl -I 51cto.com HTTP/1.1 301 Moved Permanently Date: Sun, 20 Aug 2017