janneyabc 发表于 2015-8-19 11:08:23

lamp环境服务器配置文档

  服务器配置命令开始(蓝色为输入命令,灰色为反馈内容):
  Yum update
  Reboot;
  yum -y install mysql mysql-server mysql-devel php php-devel php-common
  
  php-gd php-curl php-prec php-xmlphp-tidy php-pear php-mysql php-pdo php-pdb php-fpdf* php-ldap php-dba php-cli php-mcrypt php-mbstring php-oauthphp-soapphp-snmpgccgcc-c++
  
  yum -y installglibc.i686 libstdc* libstdc++.so.6
  
  yum -y install memcached php-pecl-memcache   <-== 有时不会装
  
  yum -y install wget
  文件配置:
  httpd.conf
  KeepAlive on
  KeepAliveTimeout 15
  MaxKeepAliveRequests 100
  ServerName localhost:80
  DirectoryIndex index.html index.php
  NameVirtualHost *:80
  
  <VirtualHost *:80>
  ServerAdmin nhuang@redidai.com
  DocumentRoot /home/www/plan2.0.5.3
  ServerName 25.redidai.com
  ServerAlias 25.redidai.com
  ErrorLog logs/25.com-error_log
  CustomLog logs/25.com-access_log common
  <Directory " /home/www/plan2.0.5.3">
  allow from all
  order allow,deny
  AllowOverride All
  </Directory>
  RewriteCond %{HTTP_HOST} ^redidai\.com
  RewriteRule ^/(.*)$ http://www.{HTTP_HOST}/$1
  </VirtualHost>
  
  
  NameVirtualHost *:80
  
  php.ini
  pcre.backtrack_limit=-1
  pcre.recursion_limit=-1
  
  iptables
  -A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
  
  
  
  错误解决:
  解决SELINUX 权限引起的目录无法访问
  setenforce 0
  修改/etc/selinux/config文件中设置SELINUX=disabled/permissive ,然后重启服务器。
  chcon -t httpd_sys_content_t -R 修改权限的文件
  chown apache:apache -R plan2.0.5.3.1
  
  服务器计划任务
  #每隔1分钟,结束APPCHE超过10分钟,CPU超过10%的死进程
  crontab -e
  */1 * * * *top -n 1 -b |grep 'apache' |awk 'substr($11,3,1)>0 && $9 > 10 {print "kill", $1}'|sh

  
  Sphinx 配置
  yum –y install mysql-connector-odbcpostgresql.x86_64
  下载shpinx rpm包到/home/soft文件夹下
  下载地址:http://sphinxsearch.com/downloads/release/
  rpm -ivh sphinx-2.1.5-1.rhel6.x86_64.rpm
  sphinx位置:/etc/sphinx
  将配置文件拷贝到/etc/sphin下
1.停止sphinx。Searchd –stop(第一次不用)
2.给所有字段建立索引。Indexer --all
  3.启动 sphinx。/usr/local/sphinx/bin/searchd
  search “深圳”,如果安装成功,则显示出搜索结果
  NFS 配置
  (只包含客户端配置—即代码服务器端,服务器端—即cdn端配置另外描述)
  客户端配置—即代码服务器端配置
  yum –y install nfs-utils.x86_64
  
  安装pixel
  1.安装node.js
  wget http://nodejs.org/dist/v0.6.1/node-v0.6.1.tar.gz
  本地测试下载的是这个版本,如果要高版本的话可以找高版本的地址
  
  tar zxvf node-v0.6.1.tar.gz
  
  cd node-v0.6.1
  
         ./configure
  
  如果出现以下情况:
  Checking for program g++ or c++          : not found
  Checking for program icpc                : not found
  Checking for program c++               : not found
  /home/admin/pkgs/node-v0.6.10/wscript:261: error: could not configure a cxx compiler!
  
  解决办法是:
  安装gcc-c++
  sudo yum install gcc-c++
  
  如果还有
  Checking for openssl                     : not found
  Checking for function SSL_library_init   : not found
  Checking for header openssl/crypto.h   : not found
  /home/admin/pkgs/node-v0.6.10/wscript:374: error: Could not autodetect OpenSSL support. Make sure OpenSSL
  
  development packages are installed. Use configure --without-ssl to disable this message.
  
  解决办法:安装openssl-devel
  
  sudo yum install openssl-devel
  然后,就可以正常编译安装了。
  
  ./configure
  make
  sudo make install
  
  node -v可以查看node的相关信息
  
  2.安装npm
  curl http://npmjs.org/install.sh | sudo sh
  提示网址有问题的话就改为:curl https://npmjs.org/install.sh | sudo sh
  
  如果提示,找不到node,所以:再做一个软链接:
  
  sudo ln -s /usr/local/bin/node /usr/bin/node
  curl http://npmjs.org/install.sh | sudo sh
  可以正常运行。
  
  3.安装pixel
  
  注意(此目录需创建在HTTP目录下)
  
  sudo npm install pixel-ping
  
  此时会在当前所在目录下生成一个node_modules目录,该文件夹下就是安装的pixel ping的相关文件。
  
  4.配置pixel
  (1)进入node_modules/pixel-ping目录,将config.example.json复制一份,修改config.json文件。重命名为config.json。然后打
  
  开,修改端口,将host修改为自己的对外的主机地址,如我自己本地虚拟机的是192.168.1.185。修改相应后请求的方法参数endpoint,改为
  
  http://romy.redidai.com/save_hits.html。如果是上线服务器的话,就改域名可以了,后面的方法保持不动。
  (2)进入node_modules/pixel-ping/lib/下,修改pixel-ping.js文件。
  修改record方法(9行)。
  
              store || (store = 0);此句后面增加的参数代码:
  
  if (undefined != params.query.ip) {
  store['ip'] = params.query.ip;
  }
  
  if (undefined != params.query.area) {
  store['area'] = params.query.area;
  }
  
  if (undefined != params.query.keyword) {
  store['search'] = params.query.keyword;
  }
  
  if (undefined != params.query.uid) {
  store['uid'] = params.query.uid;
  }
  
  if (undefined != params.query.referer) {
  store['referer'] = params.query.referer;
  }
  
  if (undefined != params.query.objClick) {
  store['objClick'] = params.query.objClick;
  
  
  启动命令
  
  node /home/www/node_modules/pixel-ping/lib/pixel-ping.js /home/www/node_modules/pixel-ping/config.json &
  disown -h %1
  
  重启
  
  ps aux | grep node
  
  kill 掉进程
  
  
  
  
  5.项目主要配置文件修改说明
  (1)在项目的上两级目录(node_modules),dirname(dirname(SITE_PATH)),跟www同级下手动创建log目录,并给与读写权限。
  (2)项目/index.php中增加logs日志文件下载的目录路径定义:
  define('TRACKER_LOGS_DIR',dirname(dirname(SITE_PATH)).'/logs/tracker/');
  
  //track logs dir
  自己想存到其他盘中,可以手动修改。
  (3)项目/router.inc.php文件中增加路由转向。
  在'index/Index/index' => 'index',后面加上以下一句
  'index/Index/pixel' => 'save_hits',
  (4)在 项目/apps/index/Tpl/default/Index/index.html中添加
  <div class='hitImg'><img src="http://192.168.1.185:9187/pixel.gif?key=index_hit&ip={$clientIP}&area={$area}&uid=
  
  {$uid}&referer={$httpReferer}&keyword=" alt=""/></div>
  将192.168.1.185改为跟config.json中的一致。
  (5)项目/apps/index/Lib/Action/IndexAction.class.php文件中的pixel()方法就是追踪生成的logs日志方法。
页: [1]
查看完整版本: lamp环境服务器配置文档