今天有点悲剧,把网站服务器折腾到打不开了,还因此晚上加了一个小时的班。还好在晚上7点之前将问题给解决了。
今天的事情在几个月前也折腾过,如果当时记录下了解决方法就不会浪费今天3、4个小时的时间了。这3、4 个小时又得加多少个日夜的班才能补回来。幸好问题解决了,虽然老板不说,但毕竟是一个关乎业务的事情。
Wdlinux
centos
apache
nginx
php的服务器架设都不太熟悉。然而Wdlinux也有点小坑。
网站打不开啦!!!!
一查当前的端口与运行的服务
发现是httpd占用了80端口,却没有nginx的服务。
查看nginx的配置文件
/www/wdlinux/nginx/conf/nginx.conf
与apache的配置的文件
/www/wdlinux/apache/conf/httpd.conf
(以上两个路径应该是虚拟,方便记忆的。真实的路径分别是:
/www/wdlinux/nginx-1.2.9/conf/nginx.conf
/www/wdlinux/httpd-2.2.24/conf/httpd.conf)
,可以看出Wdlinux是同时装了这两个服务,nginx占用80端口映射到apache上面,apache的端口是88。
这样工作就明确了:打开nginx使用80端口,打开httpd(apache)使用88端口。
关闭httpd
service httpd stop
,打开nginx
nginx -s stop(也可以进到/www/wdlinux/nginx/sbin/下使用./nginx -s stop)
。nginx确实是占用的80端口。但是httpd
service httpd start
却打不开了,提示端口冲突。
这时很时奇怪,明明在httpd.conf配置里面已经将端口改成了88,但启动还是提示80端口冲突呢。这里检查配置检查的眼睛都快瞎了,又去百度httpd修改端口的方法,看来看去都是没有问题的呀。
重启一下centos服务器,还是老样子,httpd占用80端口,nginx没有开起来。
后面不知道是不是突然来了灵感,明白了两个事情。
1,nginx是因为httpd占用了80端口才没有开起来的。
2,httpd一定还受到了其它的httpd.conf文件的干扰。
于是针对上面的第2点,找到搜索httpd.conf的方法。
find /etc/ -name httpd.conf
百度来的句子连目录也不改,死马当活马医。命令一运行,果真在这个目录下面找到了一个httpd.conf文件(/etc/httpd/conf/httpd.conf),进去一看端口果真还是80,改成88。
httpd和nginx终于开起来了端口也对了。急不可耐的在浏览器打开网站,出现的是apache的界面。我去,我的那些网站呢?
难到要我在刚才找到的那个httpd.conf里面重新配置一遍所有的网站吗?这个工作量可是惊人的。
让我想想,明明在Wdlinux的后台,那些网站配置都在。会不会……有两个httpd?也就是说装了两个apache,我应该关掉当前这个(/etc/下配置文件对应的),去启动另一个,也就是在wdlinux下的那个(对应的是这个配置文件/www/wdlinux/apache/conf/httpd.conf)?
service httpd stop(关闭)
cd /www/wdlinux/apache/bin/
./httpd -k start(定向的打开,如果用service httpd start,肯定又会打开上面那个刚关闭的httpd)
……
是谁带来远古的呼唤
是谁留下千年的祈盼
难道说还有无言的歌
还是那久久不能忘怀的眷恋
哦
我看见一座座山一座座山川
一座座山川相连
呀啦索
那可是青藏高原
当网站打开的那一刻,最后知道真相的我眼泪掉下来...
现在说起来容易,当时的心情真的复杂。不断不停的百度资料,重启服务器,刷新浏览器。现在因为时间的关系,也没有去赘述走的弯路、错路。
看来还是要把linux基本了解一下,把服务器架设这里要搞熟练才行。
以上解决问题的过程中,在打开nginx的时候有时会报一下错,这里可以针对性的解决,这里不再赘述,好像是报log方面的错。
还有上面说的用./httpd -k start定向打开httpd的时候,也报提示,但用netstat -ntlp查看端口发现,服务是可以正常开启的。
其它知识:
1,find / -name httpd.conf(在根目录及其子目录下查找httpd.conf)
2,service httpd status 查看httpd服务状态
3,
httpd -k start
启动Apache服务。
httpd -k stop
停止Apache服务。
httpd -k restart
重启Apache服务。
4,VI可以用/来查找字符,输入好后用回车键来查看,n键查找下一个。
5,Linux centos重启命令:
1、reboot 普通重启
2、shutdown -r now 立刻重启(root用户使用)
3、shutdown -r 10 过10分钟自动重启(root用户使用)
4、shutdown -r 20:35 在时间为20:35时候重启(root用户使用)
如果是通过shutdown命令设置重启的话,可以用shutdown -c命令取消重启
6,Linux centos关机命令:
1、halt 立刻关机
2、poweroff 立刻关机
3、shutdown -h now 立刻关机(root用户使用)
4、shutdown -h 10 10分钟后自动关机
如果是通过shutdown命令设置关机的话,可以用shutdown -c命令取消重启
7,解决nginx: [error] open() "/usr/local/nginx/logs/nginx.pid" failed错误
解决方法:[root@localhost nginx]# /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
使用nginx -c的参数指定nginx.conf文件的位置