centos5.5用phpstudy一键安装配置虚拟主机后,yum配置代理服务器squid

最近因为工作需要,开发站点需要在lamp环境下跑网站,于是在win7上跑虚拟机装了一个centos5.5的linux 并用集成环境配置了一个lamp环境,这里用的是phpstudy的一键安装包,并配置虚拟主机,配置方法和普通的编译后的安装差不多,多句嘴,这里因为用phpstudy安装的lamp 稍微记录一下配置虚拟主机的方法

/phpstudy/server/httpd/conf

vi /phpstudy/server/httpd/conf/httpd.conf   找到Virtual hosts,建议用末行方法找,挺往下的(/Virtual hosts  回车)

把下面的Include conf/extra/httpd-vhosts.conf前面的#去掉

里面的一堆注释就不往外贴了复制出来最下面被注释掉的

#<VirtualHost *:80>
#    ServerAdmin webmaster@dummy-host2.example.com
#    DocumentRoot "/phpstudy/server/httpd/docs/dummy-host2.example.com"
#    ServerName dummy-host2.example.com
#    ErrorLog "logs/dummy-host2.example.com-error_log"
#    CustomLog "logs/dummy-host2.example.com-access_log" common
#</VirtualHost>

改成如下---- 这里是针对phpstudy,如果是别的集成环境或者自己编译的apache,那么根据自己定义的来

<VirtualHost *:80>
    ServerAdmin you@example.com
    DocumentRoot "/phpstudy/www"
    ServerName www.phpstudy.net
    ErrorLog "logs/dummy-www.phpstudy.net-error_log"
    CustomLog "logs/dummy-www.phpstudy.net-access_log" common
</VirtualHost>

下面这个是我自己添加的一个虚拟主机的配置,域名是zzz.demo1.com

<VirtualHost *:80>
    ServerAdmin you@example.com
    DocumentRoot "/phpstudy/www/demo1"
    ServerName zzz.demo1.com
    ErrorLog "logs/dummy-zzz.demo1.com-error_log"
    CustomLog "logs/dummy-zzz.demo1.com-access_log" common
    <Directory "/phpstudy/www/demo1">   
        Options Indexes FollowSymLinks   
        AllowOverride None   
        Order allow,deny   
        Allow from all   
    </Directory>    
</VirtualHost>

这样之后重启phpstudy,怎么单独重载phpstudy里的httpd进程真不太清楚,可能只有到httpd所在的目录去执行把,反正也不是很耽误时间,就直接重启phpstudy了

再修改一下  /etc/hosts  目的不用多说了,用过win下配置虚拟主机的同学都知道

# Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1        localhost.localdomain localhost
::1        localhost6.localdomain6 localhost6
127.0.0.1  zzz.demo1.com

 对了,别忘记在/phpstudy/www/demo1/ 下新建一个  index.html 随便写点什么就好了

这样在命令行访问  #curl zzz.demo1.com

我写的123456很不正规,凑合着呗
 
 
这样linux下的虚拟主机就配置好了
但是这样在win下不能在浏览器里输入zzz.demo1.com 这个域名来访问,这时候想到了使用代理,百度了一下,centos里面的代理好多用的是squid 当然有很多别的代理软件例如win下常用的charles,这软件也有linux的版本,同时mca下也可以用,这个留下以后研究
下面的内容转自
http://blog.chinaunix.net/uid-22414998-id-113363.html   感谢五岳之巅 ,如果您本人看到本篇博文,有任何建议欢迎@me : zhongweibest@163.com
 
安装
rpm -qa|grep squid
yum install -y squid*
最终我安装完成的是squid.i386 7:2.6.STABLE21-7.el5_10
原文中squid-2.6.STABLE21-3.el5
配置
cd /etc/squid/
[root@localhost-eth0001 squid]# ls
cachemgr.conf  mib.txt            msntauth.conf          squid.conf.default
errors         mime.conf          msntauth.conf.default
icons          mime.conf.default  squid.conf
[root@localhost-eth0001 squid]# cp squid.conf squid.conf.bak
(备份一下,这是个好习惯哦~~~)
[root@localhost-eth0001 squid]# ls
cachemgr.conf  mib.txt            msntauth.conf          squid.conf.bak
errors         mime.conf          msntauth.conf.default  squid.conf.default
icons          mime.conf.default  squid.conf

 
开启,停止,重启,重载
service squid stop/srtat/restart/reload
 
编辑配置文件,一般如果是跑虚拟机,我不太习惯直接用putty 去vi   虽然本人的vi操作没什么问题,总归不如在win下使用submit或者其他编辑器好用这里推荐使用winscp去ssh连接目标主机,改变一下默认编辑器就行了,就算你不改用程序默认的,也比个黑窗口好看点
vi squid.conf
出现的内容能吓死你,4517行,这哪能看完呢。呵呵,以后慢慢看吧,squid的所有手册内容都在这里了,写得非常详细,但不是入门的好材料,如果你学会了,高级的内容可以从这4千多行的内容中自己学习。
删除所有行,切换到命令行模式
:1,$d然后回车,哈哈,空了。现在写入下列内容:
http_port 192.168.1.2:80  #设置监听的IP与端口号, 这里我设置的是我自己虚拟主机上eth0的ip,端口好最好改改,我用的8888
cache_mem 128 MB  //设置内存缓冲的大小
cache_dir ufs /var/spool/squid 4096 16 256  //设置硬盘缓冲大小
cache_effective_user squid  //设置缓存的有效用户,运行前使用命令cat /etc/passwd | grep squid查看是否有这组数据,没有的话,还得新建squid用户和组,不过squid安装程序一般都给咱新建好了
cache_effective_group squid  //设置缓存的有效用户组
dns_nameservers 192.168.1.1  //设置DNS服务器地址,一般可以不设置,默认使用服务器自己设置的dns,我就给注释掉了  前面价格#就行了
cache_access_log /var/log/squid/access.log  //设置访问日志文件
cache_log /var/log/squid/cache.log  //设置缓存日志文件
cache_store_log /var/log/squid/store.log  //设置网页存储日志
visible_hostname 192.168.1.4  //设置squid主机名,填写192.168.1.2也可以, 我写的azhw
cache_mgr xinyuan365@sohu.com  //设置管理员邮箱
acl all src 0.0.0.0/0.0.0.0  //建立一个访问控制列表
http_access allow all  // 给上述访问列表授权
error_directory /usr/share/squid/errors/Simplify_Chinese //显示中文的错误信息

保存并退出,执行:

[root@liukai squid]# service squid start
init_cache_dir /var/spool/squid... 启动 squid:            [失败]

呵呵。别着急哦。咱们还没有初始化squid,现在开始:
为了让squid在硬盘中缓存客户机访问internet的临时内容,在初次启动squid前,
 [root@liukai bin]# squid -z
2009/10/01 17:13:15| Creating Swap Directories

[root@liukai bin]# ll /var/spool/squid/   原文给出的结果是68行,我自己跑出来的是64行,不过这个应该不重要,主要是执行了一个过程

再次运行

[root@liukai squid]# service squid start   启动成功

此外,如果你觉得squid错误提示英文不好看,你可以改成中文,方法如下:
[root@liukai ~]# ls /usr/share/squid/errors/
Armenian     English   Hungarian   Romanian          Swedish
Azerbaijani  Estonian  Italian     Russian-1251      Traditional_Chinese
Bulgarian    Finnish   Japanese    Russian-koi8-r    Turkish
Catalan      French    Korean      Serbian           Ukrainian-1251
Czech        German    Lithuanian  Simplify_Chinese  Ukrainian-koi8-u
Danish       Greek     Polish      Slovak            Ukrainian-utf8
Dutch        Hebrew    Portuguese  Spanish
看,里面有个Simplify_Chinese,说明具有中文支持。接着,vi squid.conf,加入
error_directory /usr/share/squid/errors/Simplify_Chinese(注意是下划线,不是破折号哦)
保存,reload.

后面的内容就是怎么用了

这里图文说一下

例如使用火狐浏览器

工具 -- 选项 -- 高级 -- 网络 -- (连接__配置 Firefox 如何连接至国际互联网) -- 设置 -- 手动配置代理 -- http代理(这里填写代理服务器的ip ) , 端口(8888) 

设置代理就是让浏览器只要访问就去ip:port去要对应的资源,然后一路确定回来,如果仔细可以发现下面还有一个不使用代理的列表,这样(把本机的虚拟主机域名写进去)可以保证本机的开发环境的apache配置的虚拟主机依旧可以用,这样在win里面去访问  zzz.demo1.com   就可以出现  123456 了 这么样就ok啦

这里对火狐的不使用代理功能稍微说一下

只写域名,不要http:// 的协议前缀,要访问二级域名的也只写主域名,例如  51cto.com   其实我经常访问的是edu.51cto.com

zzz.wang.com 就是我自己的虚拟主机,如果不想每次都这么麻烦,建议把自己的虚拟主机配制成二级域名  例如  xxx.self.com   那么这里就写  self.com,   除非公司统一的某个域名,再自己加也不费事

原文地址:https://www.cnblogs.com/azhw/p/4524097.html