Apache与Nginx虚拟主机设置(多域名和多端口的区别)
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>
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>
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>
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>
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才可。
////////////////////////////////////////////////////////////////////////////////////