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才可。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值