1,安装 apache2
sudo apt-get install apache2
2,进行配置
apache 配置文件是存放在 etc/apache2/ 这个文件夹下面,又将以前的配置文件分成了几个
分别是:
(1)
etc/apache2/conf.d/charset
这个是网站编码配置,需要将最后行的 #AddDefaultCharset UTF-8 前面的#去掉,使用UTF-8编码,当然也可以 把UTF-8改成别的编码。
(2)
etc/apache2/sites-available/default
这个是网站目录默认配置,上面的目录的 apache2.conf 里面也有网站目录的。要添加网站只需要在httpd.conf里面添加就好了,因为apache2.conf 这个文件中以包含的形式引入了httpd.conf。
这个是我的配置文件httpd.conf:
ServerName 127.0.0.1:80
<VirtualHost *:80>
ServerName www.chy.com
DocumentRoot /var/mysite/
</VirtualHost>
<VirtualHost *:80>
ServerName www.sdtj.com
DocumentRoot /var/myweb/
</VirtualHost>
我配置了两个虚拟的目录第一个在DNS中设置了域名,而第二个没有,所以不能访问,但是DNS只能设置一个
type master的域名,所以DNS在这里要配置成辅助的就可以了(没有经过测试)。
若在这两个目录的下面都放置了文件就能够在linux的上面访问了,但是脱离了本机到windows上访问就不可以了,
注意:windows的域名必须填写linux的ip否则不能访问,但是域名DNS中我只配置了一个,所以不能访问了。
启动:
重启apache
#apache2 -k restart
在浏览器中输入,http://loclhost/就可以访问相关的目录了,如果这也是Tomcat的虚拟目录我认为就可以了
如果要输入www.chy.com可以访问,我们需要启动DNS。
未解决的问题:(1)在启动DNS的时候时候的错误,sudo gedit /etc/resolv.conf每次都要编辑这个文件不知道为什么老是会被自动更改。nameserver 192.168.1.120(这个是本机的ip)
(2)在启动apache2的时候,#sudo apache2 -k restart就会出现这样的错误
httpd not running, trying to start
(98)Address already in use: make_sock: could not bind to address 0.0.0.0:80
no listening sockets available, shutting down
Unable to open logs
这个因为有别的进程占用了80端口
修改方法,1.需要在httpd.conf中添加 ServerName 127.0.0.1:80
2.还要
# ps -aux | grep http
Warning: bad syntax, perhaps a bogus '-'? See /usr/share/doc/procps-3.2.7/FAQ
root 12079 0.0 0.0 61164 720 pts/1 S+ 16:06 0:00 grep http
# ps -aux | grep apache
Warning: bad syntax, perhaps a bogus '-'? See /usr/share/doc/procps-3.2.7/FAQ
apache 10820 0.0 0.0 2044 600 ? Ss Jan01 0:04 bash
root 12081 0.0 0.0 61160 716 pts/1 S+ 16:06 0:00 grep apache//最后一个不是这个进程apache
# kill -9 10820
就是说找到相关的apache的进程全部都杀死。
这样就了