centos apahce php怎么看日志

vi /etc/httpd/conf/httpd.conf& #编辑文件
#ErrorLog logs/error_log& #注释此行,添加下面这行
ErrorLog &|rotatelogs /var/log/httpd/error_log%Y%m%d.log && #每天单独生成一个日志文件
#CustomLog logs/access_log common& #注释此行,添加下面这行
CustomLog &|rotatelogs /var/log/httpd/access_log%Y%m%d.log & common& #每天单独生成一个日志文件
ErrorLog /dev/null& #禁用错误日志
CustomLog /dev/null common& #禁用访问日志
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:8204次
排名:千里之外
转载:38篇
(1)(1)(2)(4)(1)(1)(1)(4)(2)(2)(1)(3)(3)(2)(2)(4)(4)欢迎访问, 您的支持就是我前进的动力.
利用AWStatus监控apache实时日志并认证登陆
最近一直在研究awstats动态页面,主要想解决生成的日志页面点击二级链接报错问题,期间想下狠心给apache装perl模块,但是悲剧的是mod_perl最新版本不支持apache2.4版本,而本人公司线上服务器就是该版本,苦思冥想研究了几天,终于google到了一篇能够生成二级链接静态页面的awstats脚本的文档。
研究完毕并线上测试成功,这里刚好在之前的基础上修改后分享给大家,也算是不用在apache装perl模块的一种补救方案,效果还不错。
系统环境:centOS6.3
Apache: httpd-2.4.4
# tar -zxvf awstats-7.1.1.tar.gz -C /usr/local/
# cd &/usr/local/
# mv awstats-7.1.1 awstats
# cd &awstats/tools/
# perl &awstats_configure.pl
------------------------------
Need to create a new config file ?
Do you want me to build a new AWStats config/profile
file (required if first install) [y/N] ?&y
What is the name of your web site or profile analysis ?
Example: demo
Your web site, virtual server or profile name:
----------------------
一路默认回车即可完成awstats配置文件向导,该配置文件保存在/etc/awstats/下
注:该配置向导会在apache主配置文件末尾添加几处awstats配置内容,参照本博文配置的同学建议直接删除,以免引起页面无法访问
# vi &/etc/awstats/awstats..cn.conf
修改如下几处配置
-------------
LogFile="/usr/local/apache2/logs/access_log"
#apache若建立分段日志见修改如下
LogFile="/usr/local/apache2/logs/.cn-%YYYY_%MM_%DD.access_log"
LogFormat=1
#此处log目录必须具有写入权限
DirData="/usr/local/apache2/htdocs/.cn/awstats/log"
AllowToUpdateStatsFromBrowser=1
#显示简体中文页面
------------
相应的apache分段日志配置:
# vi /usr/local/apache2/conf/httpd.conf
Include conf/extra/httpd-vhosts.conf
# vi /usr/local/apache2/conf/extra//httpd-vhosts.conf
-------------
&VirtualHost *:80&
& &DocumentRoot "/usr/local/apache2/htdocs/.cn"
& &ServerName
& &CustomLog "|/usr/local/apache2/bin/rotatelogs /usr/local/apache2/logs/.cn-%Y_%m_%d.access_log "&combined
& &ErrorLog "|/usr/local/apache2/bin/rotatelogs /usr/local/apache2/logs/.cn-%Y_%m_%d.error_log "
&/VirtualHost&
-------------
创建Web方式查看流量的虚拟目录&&,拷贝显示网页需要的图形工具(icon、css等)
# mkdir -p /usr/local/apache2/htdocs/.cn/awstats
# cd&/usr/local/apache2/htdocs/.cn/awstats/
# mkdir log/ && chmod -R 777 log
# cd &/usr/local/awstats/wwwroot/
# cp -R &icon &/usr/local/apache2/htdocs/.cn/awstats
# cp -R &css &/usr/local/apache2/htdocs/.cn/awstats
# cp -R &classes &/usr/local/apache2/htdocs/.cn/awstats
# cp -R &js &/usr/local/apache2/htdocs/.cn/awstats
# cd&/usr/local/apache2/htdocs/.cn/awstats/
# chmod -R 755 icon css classes js
添加计划任务脚本及内容,使crond每分钟执行一次脚本文件来刷新awstats web页面:
# vi /etc/rc.d/awstats.sh
版本一(只能生成一级链接日志分析)
-------------
#/bin/bash
PERL=/usr/bin/perl
awstats=/usr/local/awstats/wwwroot/cgi-bin/awstats.pl
$PERL $awstats -update -config=.cn
$PERL $awstats -config=.cn -output -staticlinks & /usr/local/apache2/htdocs/.cn/awstats/index.html
-------------
版本二(生成多级链接日志分析,推荐)
---------------
#/bin/bash
########################################
PERL=/usr/bin/perl
awstats=/usr/local/awstats/wwwroot/cgi-bin/awstats.pl
hostdir=/usr/local/apache2/htdocs/.cn/awstats
buildstaticpages=/usr/local/awstats/tools/awstats_buildstaticpages.pl
########################################
$buildstaticpages -update -config=.cn -lang=cn -dir=$hostdir -awstatsprog=$awstats
---------------
加入系统计划任务
# crontab -e
-------------
* * * * * /bin/sh /etc/rc.d/awstats.sh
-------------
awstats默认主页为awstats..cn.html,方便web登录的话可以加一个index.html的软链接
# sh /etc/rc.d/awstats.sh
# cd /usr/local/apache2/htdocs/.cn/awstats
# ln -s awstats..cn.html index.html
重启计划任务
# service crond restart
添加apache目录访问认证功能
# mkdir /usr/local/apache2/passwd/
# touch /usr/local/apache2/passwd/passwords
加密认证目录
# /usr/local/apache2/bin/htpasswd -cb /usr/local/apache2/passwd/passwords awstats 123456
返回错误提示
-------------
/usr/local/apache2/bin/httpd: error while loading shared libraries: libexpat.so.0: cannot open shared object file: No such file or directory
-------------
使用ldd查看httpd的依赖库信息
# ldd httpd
& & & &linux-vdso.so.1 =& &(0x00007ffffcdff000)
& & & &libpcre.so.1 =& /usr/local/pcre/lib/libpcre.so.1 (0x0b000)
& & & &libaprutil-1.so.0 =& /usr/lib64/libaprutil-1.so.0 (0x0000)
& libexpat.so.0 =& not found
& & & &libapr-1.so.0 =& /usr/lib64/libapr-1.so.0 (0x0f0000)
& & & &librt.so.1 =& /lib64/librt.so.1 (0xc00000)
& & & &libcrypt.so.1 =& /lib64/libcrypt.so.1 (0xc00000)
& & & &libpthread.so.0 =& /lib64/libpthread.so.0 (0x0000)
& & & &libc.so.6 =& /lib64/libc.so.6 (0xc00000)
& & & &libuuid.so.1 =& /lib64/libuuid.so.1 (0x0000)
& & & &libexpat.so.1 =& /lib64/libexpat.so.1 (0x0000)
& & & &libdb-4.7.so =& /lib64/libdb-4.7.so (0x0000)
& & & &/lib64/ld-linux-x86-64.so.2 (0x0000)
& & & &libfreebl3.so =& /lib64/libfreebl3.so (0x0000)
& & & &libdl.so.2 =& /lib64/libdl.so.2 (0x0000)
查找该库文件
# find / -name libexpat.so.0
返回 /usr/local/apache2/lib/libexpat.so.0
复制该库文件到apache默认库路径
# cp /usr/local/apache2/lib/libexpat.so.0 /usr/lib64/
重新查看依赖库
# ldd httpd
& & & &linux-vdso.so.1 =& &(0x00007ffffcdff000)
& & & &libpcre.so.1 =& /usr/local/pcre/lib/libpcre.so.1 (0x0b000)
& & & &libaprutil-1.so.0 =& /usr/lib64/libaprutil-1.so.0 (0x0000)
libexpat.so.0 =& /usr/lib64/libexpat.so.0 (0x0c000)
& & & &libapr-1.so.0 =& /usr/lib64/libapr-1.so.0 (0x0f0000)
& & & &librt.so.1 =& /lib64/librt.so.1 (0xc00000)
& & & &libcrypt.so.1 =& /lib64/libcrypt.so.1 (0xc00000)
& & & &libpthread.so.0 =& /lib64/libpthread.so.0 (0x0000)
& & & &libc.so.6 =& /lib64/libc.so.6 (0xc00000)
& & & &libuuid.so.1 =& /lib64/libuuid.so.1 (0x0000)
& & & &libexpat.so.1 =& /lib64/libexpat.so.1 (0x0000)
& & & &libdb-4.7.so =& /lib64/libdb-4.7.so (0x0000)
& & & &/lib64/ld-linux-x86-64.so.2 (0x0000)
& & & &libfreebl3.so =& /lib64/libfreebl3.so (0x0000)
& & & &libdl.so.2 =& /lib64/libdl.so.2 (0x0000)
重新加密认证目录
# /usr/local/apache2/bin/htpasswd -cb /usr/local/apache2/passwd/passwords awstats 123456
注:此处若不加b参数,自行暗文添加认证密码,在访问认证页面后会无法通过,起初以为自己是不是输入密码的时候手误,google查了下,老外的意思说是apache2.4.4版本的BUG,解决办法只能换apache版本,或者加b参数直接明文添加密码,非2.4.4版本的apache可以无视。
# vi /usr/local/apache2/conf/httpd.conf
末尾添加:
注:添加Alias链接,防止awstats页面暴图:
-----------------
Alias /awstatscss " /usr/local/apache2/htdocs/.cn/awstats/css/"
Alias /awstatsicons " /usr/local/apache2/htdocs/.cn/awstats/icon/"
Alias /awstatsclasses "/usr/local/apache2/htdocs/.cn/awstats/classes/"
&Directory "/usr/local/apache2/htdocs/.cn/awstats/"&
&AuthType Basic
&AuthName "Awstats"
&AuthUserFile /usr/local/apache2/passwd/passwords
&Require user awstats
&/Directory&
-----------------
重启apache
# /usr/local/apache2/bin/apachectl restart
Web查看awstats流量监控.
注:windows访问需修改主机Hosts文件
浏览器地址栏输入.cn/awstats
日志分析主页如图:
大功告成。。。。。
正文部分到此结束
08-27 (阅读 (1,591) )
08-27 (阅读 (3,785) )
网&&&名: 一路向北
英文名: Leon li
性&&&别: 男
职&&&业: DevOps
爱&&&好: 足球,健身,英语
简&&&介: 80后摩羯座攻城狮一枚,目前专注DevOps运维自动化, CI/CD集成, Docker分布式系统构建.
邮&&&箱: showerlee@
WP Cumulus Flash tag cloud by
9 or better.
最新文章热门文章手气不错
Powered by WordPress学习笔记(230)
&&&&& 现在很多项目都部署在Linux服务器上运行,现在我以虚拟机为服务器,说一下怎样部署一个项目并运行。
第一步:环境准备
1.1& 安装JDK
&&&&&& 关于JDK的安装我这里不做详细介绍,大家可以参考:http://blog.csdn.net/u/article/details/这篇博客进行安装
1.2 安装mysql
&&&&& 关于Mysql的安装,大家可以参考:http://blog.csdn.net/u/article/details/这篇博客进行安装
1.3 安装tomcat
&&&1.3.1 从官网下载tomcat安装包,也可以到:http://download.csdn.net/detail/u65789这个地址下载
&& 1.3.2 上传到服务器,这里我上传到我虚拟机的/root/zcms目录下了
&& 1.3.3 解压apache-tomcat-6.0.47.tar.gz
&&&&&& &[root@test zcms]# tar -zxvf apache-tomcat-6.0.47.tar.gz
&&& <span style="color:#.3.4 解压后会有一个apache-tomcat-6.0.47文件,我们把它复制到/usr/local目录下并重命名为tomcat
[root@test zcms]# cp -r apache-tomcat-6.0.47 /usr/local/tomcat
&&&&1.3.5 设置开机自启动,修改文件,命令行:vim
&&&&&&& export&JDK_HOME=/usr/java/jdk1.7.0_80
&&&&&&& export JAVA_HOME=/usr/java/jdk1.7.0_80
&&&&&&& /usr/local/tomcat/bin/startup.sh
&&&&1.3.6 为了方便的手动控制tomcat启动、关闭,我们就需要配置环境变量,让命令在任何目录下都可以执行,下面红色加粗的配置是我们需要配置的内容(JDK是我们第一步就配置好的)。
[root@test zcms]# vim /etc/profile
&&& pathmunge /usr/local/sbin
&&& pathmunge /usr/local/sbin after
&&& pathmunge /usr/sbin after
&&& pathmunge /sbin after
HOSTNAME=`/bin/hostname 2&/dev/null`
HISTSIZE=1000
if [ &$HISTCONTROL& = &ignorespace& ] ; then
&&& export HISTCONTROL=ignoreboth
&&& export HISTCONTROL=ignoredups
export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE HISTCONTROL
# By default, we want umask to get set. This sets it for login shell
# Current threshold for system reserved uid/gids is 200
# You could check uidgid reservation validity in
# /usr/share/doc/setup-*/uidgid file
if [ $UID -gt 199 ] && [ &`id -gn`& = &`id -un`& ]; then
&&& umask 002
&&& umask 022
for i in /etc/profile.d/*. do
&&& if [ -r &$i& ]; then
&&&&&&& if [ &${-#*i}& != &$-& ]; then
&&&&&&&&&&& . &$i&
&&&&&&& else
&&&&&&&&&&& . &$i& &/dev/null 2&&1
&&&&&&& fi
unset -f pathmunge
export JAVA_HOME=/usr/java/jdk1.7.0_80
export TOMCAT_HOME=/usr/local/tomcat
export PATH=$JAVA_HOME/bin:$TOMCAT_HOME/bin:$PATH
&&&& 注意:配置完之后保存,并使用命令source /etc/profile来使配置生效
& <span style="font-size:12 color:#.3.7 启动tomcat
&&&[root@test ~]# startup.sh
&& Using CATALINA_BASE:&& /usr/local/tomcat
&& Using CATALINA_HOME:&& /usr/local/tomcat
&& Using CATALINA_TMPDIR: /usr/local/tomcat/temp
&& Using JRE_HOME:&&&&&&& /usr/java/jdk1.7.0_80
&& Using CLASSPATH:&&&&&& /usr/local/tomcat/bin/bootstrap.jar
& 1.3.8 关闭tomcat
&& [root@test ~]# shutdown.sh
&& Using CATALINA_BASE:&& /usr/local/tomcat
&& Using CATALINA_HOME:&& /usr/local/tomcat
&& Using CATALINA_TMPDIR: /usr/local/tomcat/temp
&& Using JRE_HOME:&&&&&&& /usr/java/jdk1.7.0_80
&& Using CLASSPATH:&&&&&& /usr/local/tomcat/bin/bootstrap.jar
&&1.3.9&检查tomcat是否已经启动,我们使用命令jps来查看进程,如果有Bootstrap进程,说明tomcat已经启动了。如果没有这个进程,说明tomcat未启动。
&& [root@test ~]# jps
&&& 30436 Jps
&&& 30404 Bootstrap
第二步:部署项目
& 2.1 导出war包
&&&& 在工程上右键,鼠标放到&Export&----&点击&WAR file&,如下图所示。
&&&&& 接着会看到如下图所示的界面,我们选择导出的路径,然后点击&Fnish&。
&&2.2 上传war包到服务器,这里我先上传到我/root/zcms目录下
& 2.3& 将tomcat的webapps目录下的文件都先删除,删除所有文件使用的命令是rm -rf *
[root@test ~]# cd /usr/local/tomcat/webapps/
[root@test webapps]# ls
docs& examples& host-manager& manager& ROOT
[root@test webapps]# rm -rf *
[root@test webapps]# ls
[root@test webapps]#已经空了
&&&2.4 将/root/zcms目录下的ZCMS.war移动到tomcat的webapps下面
[root@test zcms]# mv ZCMS.war /usr/local/tomcat/webapps/
&& <span style="color:#.5&修改tomcat的端口号,由8080修改为80,我们
[root@test zcms]# cd /usr/local/tomcat
[root@test tomcat]# ls
bin& conf& lib& LICENSE& logs& NOTICE& RELEASE-NOTES& RUNNING.txt& temp& webapps& work
[root@test tomcat]# cd conf/
[root@test conf]# ls
Catalina& catalina.policy& catalina.properties& context.xml& logging.properties&
server.xml& tomcat-users.xml& web.xml
[root@test conf]# vim server.xml&&
&&& &Connector port=&80& protocol=&HTTP/1.1&
&&&&&&&&&&&&&& connectionTimeout=&20000&
&&&&&&&&&&&&&& redirectPort=&8443& /&
&server.xml& 148L, 6614C&&&&&&&&&&&
&&&& <span style="color:#.6&由于我要在虚拟机初始化数据库,tomcat默认的jvm内存只有128M,太小了,我们需要修改它为256M,如下所示。
[root@test bin]# ls
bootstrap.jar&&&&&& commons-daemon.jar&&&&&&&&&&& digest.bat&&&&&&& shutdown.bat& tomcat-juli.jar&&&&&& version.bat
catalina.bat&&&&&&& commons-daemon-native.tar.gz& digest.sh&&&&&&&& shutdown.sh&& tomcat-native.tar.gz& version.sh
catalina.sh&&&&&&&& cpappend.bat&&&&&&&&&&&&&&&&& setclasspath.bat& startup.bat&& tool-wrapper.bat
catalina-tasks.xml& daemon.sh&&&&&&&&&&&&&&&&&&&& setclasspath.sh&& startup.sh&&& tool-wrapper.sh
[root@test bin]# vim catalina.sh
#&&&&&&&&&&&&&&&&&& implementation when JSSE is used. Default is:
#&&&&&&&&&&&&&&&&&& &-Djdk.tls.ephemeralDHKeySize=2048&
#&& CATALINA_PID&&& (Optional) Path of the file which should contains the pid
#&&&&&&&&&&&&&&&&&& of catalina startup java process, when start (fork) is used
#&& LOGGING_CONFIG& (Optional) Override Tomcat's logging config file
#&&&&&&&&&&&&&&&&&& Example (all one line)
#&&&&&&&&&&&&&&&&&& LOGGING_CONFIG=&-Djava.util.logging.config.file=$CATALINA_BASE/conf/logging.properties&
#&& LOGGING_MANAGER (Optional) Override Tomcat's logging manager
#&&&&&&&&&&&&&&&&&& Example (all one line)
#&&&&&&&&&&&&&&&&&& LOGGING_MANAGER=&-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager&
#&& USE_NOHUP&&&&&& (Optional) If set to the string true the start command will
#&&&&&&&&&&&&&&&&&& use nohup so that the Tomcat process will ignore any hangup
#&&&&&&&&&&&&&&&&&& signals. Default is &false& unless running on HP-UX in which
#&&&&&&&&&&&&&&&&&& case the default is &true&
# -----------------------------------------------------------------------------
# OS specific support.& $var _must_ be set to either true or false.
JAVA_OPTS=&-Xms256m -Xmx512m -Xss1024K -XX:PermSize=128m -XX:MaxPermSize=256m&
cygwin=false
&&&2.7 MySQL数据库的表名在Linux系统下是严&#26684;区分大小写的,在Windows系统下开发的程序移植到Linux系统下,如果程序中SQL语句没有严&#26684;按照大小写访问数据库表,就可能会出现找不到表的错误。还有个问题就是如果不指定编码字符集的话,可能会乱码
&&& 上面两个问题的解决方法是在/f文件中添加lower_case_table_names=1和default-character-set=utf8这样两句话。注意放的位置是在[mysqld]下面。如下所示。
[root@test bin]# vim /f
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
lower_case_table_names=1
default-character-set=utf8
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
第三步:启动我们的项目
&&& 3.1 重启mysql
&&&&&& 重启mysql的命令是:service mysqld restart,如下所示。
[root@test ~]# service mysqld restart
Stopping mysqld:&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& [& OK& ]
Starting mysqld:&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& [& OK& ]
[root@test ~]#
&&&&3.2 重新启动tomcat,先使用命令shutdown.sh关闭tomcat,然后使用命令startup.sh来启动tomcat,如下所示。
[root@test ~]# shutdown.sh
Using CATALINA_BASE:&& /usr/local/tomcat
Using CATALINA_HOME:&& /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME:&&&&&&& /usr/java/jdk1.7.0_80
Using CLASSPATH:&&&&&& /usr/local/tomcat/bin/bootstrap.jar
[root@test ~]#
[root@test ~]# startup.sh
Using CATALINA_BASE:&& /usr/local/tomcat
Using CATALINA_HOME:&& /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME:&&&&&&& /usr/java/jdk1.7.0_80
Using CLASSPATH:&&&&&& /usr/local/tomcat/bin/bootstrap.jar
第四步:浏览我们的项目,刚才我打包的名称是ZCMS,因此访问的时候地址栏输入的是:localhost:80/ZCMS,刚开始会初始化数据库,初始化完之后,再刷新页面,就会看到如下图所示的界面了。
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
&&&&&& 那么如果我们的程序在虚拟机中运行出现错误了,我们怎么定位问题呢?我们需要到tomcat的logs目录下去查看,如下所示,我们可以看到我程序运行的一个错误是把Windows系统下的目录拿到Linux环境下运行了,肯定会出错的!!知道了错误,再对症下药,就快多了。
[root@test logs]# ls
catalina..log& catalina.out& host-manager..log& localhost..log& manager..log
[root@test logs]# more catalina.out
ERROR: 16-10-27 04:58:50 java.io.FileNotFoundException: d:/2010.xlsx (No such file or directory)
ERROR: 16-10-27 04:58:50&&&&&&& at java.io.FileOutputStream.open(Native Method)
ERROR: 16-10-27 04:58:50&&&&&&& at java.io.FileOutputStream.&init&(FileOutputStream.java:221)
ERROR: 16-10-27 04:58:50&&&&&&& at java.io.FileOutputStream.&init&(FileOutputStream.java:110)
&&&&&&&& 这是到日志文件中去查看日志,我们还可以像在Eclipse的控制台一样实时查看系统运行信息,具体步骤是我们先进入到tomcat的logs目录下,然后输入命令:tail -f catalina.out并回车,就开始事实查看系统运行信息了,如下所示。如果想结束事实查看信息,按Ctrl&#43;C就可以退出实时模式了。
[root@test tomcat]# ls
bin& conf& lib& LICENSE& logs& NOTICE& RELEASE-NOTES& RUNNING.txt& temp& webapps& work
[root@test tomcat]# cd logs/
[root@test logs]# tail -f catalina.out
URL /platform/environmentalTest.zhtml cost 242ms.
INFO: 16-10-27 05:28:03 ZCMS Compile application.zhtml cost 10 ms.
URL /application.zhtml cost 260ms.
INFO: 16-10-27 05:28:05 ZCMS Compile platform/systemInfo.zhtml cost 30 ms.
INFO: 16-10-27 05:28:11 ZCMS Compile platform/environmentalTest.zhtml cost 1 ms.
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:87789次
积分:3162
积分:3162
排名:第9684名
原创:225篇
转载:26篇
评论:27条
(26)(50)(30)(14)(3)(5)(21)(31)(17)(17)(18)(15)(7)(1)(1)(1)(1)(1)(1)}

我要回帖

更多关于 centos apahce php 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信