热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

CentOS6.4安装tengine+php-fpm+maraiadb的方法

学校BBS的新机器67,主要是用来做一个反向代理到216然后加速外网访问,因为学校对67所在的网段有电信的加速部署,所以外网访问很快。(此处67和216为机器IP的最后一段,这里略去完整IP)新的机器配置还不错,4G的内存和16个核心的CPU(哎……CPU怎么那么多

学校BBS的新机器67,主要是用来做一个反向代理到216然后加速外网访问,因为学校对67所在的网段有电信的加速部署,所以外网访问很快。(此处67和216为机器IP的最后一段,这里略去完整IP)

新的机器配置还不错,4G的内存和16个核心的CPU(哎……CPU怎么那么多,当初申请的时候才要了8核来着。),贴出来炫耀一下……

 [oott123@FastBird ~]$ free -m
              total       used       free     shared    buffers     cached
 Mem:          3830       1117       2713          0         67        745
 -/+ buffers/cache:        304       3526
 Swap:         3967          0       3967
 [oott123@FastBird ~]$ cat /proc/cpuinfo
 processor       : 0
 vendor_id       : GenuineIntel
 cpu family      : 6
 model           : 45
 model name      : Intel(R) Xeon(R) CPU E5-2650 0 @ 2.00GHz
 stepping        : 7
 cpu MHz         : 2000.000
 cache size      : 20480 KB

参数就不泄漏太多了……总之用的虚拟化技术其实是VMWare(学校Win平台居多导致的)。由于是生产环境,所以悲剧的一点就是不能主动连接外网,对外监听的端口也只开放了80,ssh啥的也要经由VPN才能爬。这次想着服务器条件不错,再加上对速度有一定的要求,打算用Tengine做动静分离的反向代理。很明显这台服务器是负责静态加速的,那么为什么要安装MariaDB和php-fpm呢?

嗯……答案就是我闲的蛋疼了(大雾)。【其实是有一些特殊需求不好说太多。

好了差不多就这样,接下来整理我的TMP安装过程。由于是学校的机器,让信息中心的老师装了CentOS6.4,结果到手以后发现是完整版,各种软件包齐全啊……首先把碍事的mysql卸载掉。

 yum remove mysql mysql-*

一定要卸载掉的原因是这货会和MariaDB冲突……接下来的安装顺序是Tengine->MariaDB->php-fpm

Tegine是编译安装的,源码包和jmalloc都是从官网下载之后SFTP到服务器上的。执行Tegine带jmalloc的编译如下:

 yum install pcre-devel #这个是pcre包,rewrite要用到。
 ./configure --user=apache --group=apache --with-http_stub_status_module --with-http_gzip_static_module --with-http_sysguard_module --with-http_concat_module --with-jemalloc=../jemalloc-3.4.0
 make && make install

不需要太多的模块,因为Tegine支持DSO动态模块加载,之后要加模块可以单独添加。再说这服务器连443端口都没开,ipv6因为是新机房也部署不到,所以ipv6和ssl也没有带进来。由于216上的网页文件都是给的apache/apache这个属主,所以这边也是一样的给apache。这台机器编译起来很爽,1分钟不到就完成了。

然后我从网上下载了别人的nginx的init.d给复制到了对应的目录……这个过程,捂脸就不说了……

接下来是MariaDB,选用5.5稳定版。按官方的安装攻略我如果要rpm包的话得配置他家的yum源,不幸的是67不能访问外网,只得自己手动下载这几个文件:

 http://yum.mariadb.org/5.5/centos6-amd64/rpms/MariaDB-5.5.31-centos6-x86_64-compat.rpm
 http://yum.mariadb.org/5.5/centos6-amd64/rpms/MariaDB-5.5.31-centos6-x86_64-common.rpm
 http://yum.mariadb.org/5.5/centos6-amd64/rpms/MariaDB-5.5.31-centos6-x86_64-shared.rpm
 http://yum.mariadb.org/5.5/centos6-amd64/rpms/MariaDB-5.5.31-centos6-x86_64-server.rpm
 http://yum.mariadb.org/5.5/centos6-amd64/rpms/MariaDB-5.5.31-centos6-x86_64-client.rpm

给出的地址是centos6,x64,Maria5.5的下载地址,别轻易对号入座。下载完后按上面的顺序安装即可:

 rpm -ivh MariaDB-5.5.31-centos6-x86_64-compat.rpm
 rpm -ivh MariaDB-5.5.31-centos6-x86_64-common.rpm
 rpm -ivh MariaDB-5.5.31-centos6-x86_64-shared.rpm
 rpm -ivh MariaDB-5.5.31-centos6-x86_64-server.rpm
 rpm -ivh MariaDB-5.5.31-centos6-x86_64-client.rpm #选装,提供mysql指令

顺序一定要对……先compat,再common,再shared,最后才是server。如果按照官方的来的话倒是好办,设置好直接yum会自动处理依赖关系的。

安装完MariaDB记得执行安全初始化:

 service mysqld restart #开启MariaDB
 /usr/bin/mysql_secure_installation

然后向导会引导你设置root密码,禁止空用户连接等。

最后是php-fpm的安装。先看看自带的php是哪个版本的:

 [oott123@FastBird ~]$ php -v
 PHP 5.3.3 (cli) (built: Feb 22 2013 02:51:11)
 Copyright (c) 1997-2010 The PHP Group
 Zend Engine v2.3.0, Copyright (c) 1998-2010 Zend Technologies

好嘛,直接就是5.3.3了。那好办,yum install php-fpm直接装上php-fpm就可以了。

还有就是把php-fpm和tegine联系起来。我是让php-fpm监听unix socks了,如下:

 vim /etc/php-fpm.d/www.conf
 #修改处:listen = /tmp/php-cgi.sock
 vim /usr/local/nginx/conf/fastcgi_params
 #文件全文
 fastcgi_param  QUERY_STRING       $query_string;
 fastcgi_param  REQUEST_METHOD     $request_method;
 fastcgi_param  CONTENT_TYPE       $content_type;
 fastcgi_param  CONTENT_LENGTH     $content_length;
 fastcgi_param  SCRIPT_FILENAME    $document_root$fastcgi_script_name;
 fastcgi_param  SCRIPT_NAME        $fastcgi_script_name;
 fastcgi_param  REQUEST_URI        $request_uri;
 fastcgi_param  DOCUMENT_URI       $document_uri;
 fastcgi_param  DOCUMENT_ROOT      $document_root;
 fastcgi_param  SERVER_PROTOCOL    $server_protocol;
 fastcgi_param  HTTPS              $https if_not_empty;
 fastcgi_param  GATEWAY_INTERFACE  CGI/1.1;
 fastcgi_param  SERVER_SOFTWARE    nginx/$nginx_version;
 fastcgi_param  REMOTE_ADDR        $remote_addr;
 fastcgi_param  REMOTE_PORT        $remote_port;
 fastcgi_param  SERVER_ADDR        $server_addr;
 fastcgi_param  SERVER_PORT        $server_port;
 fastcgi_param  SERVER_NAME        $server_name;
 vim /usr/local/nginx/conf/nginx.conf
 #server字段的location配置
         location ~ .*\.(php|php5)?$ {
                 fastcgi_pass unix:/tmp/php-cgi.sock;
                 fastcgi_index index.php;
                 include fastcgi_params;
         }

最后就是对各个软件设置开机自启动:

 chkconfig mysqld on
 chkconfig php-fpm on
 vim /etc/rc.local #加入一行/etc/init.d/nginx start用来开启Tegine

完工。


推荐阅读
  • 在Linux系统上构建Web服务器的详细步骤
    本文详细介绍了如何在Linux系统上搭建Web服务器的过程,包括安装Apache、PHP和MySQL等关键组件,以及遇到的一些常见问题及其解决方案。 ... [详细]
  • 阿里云ecs怎么配置php环境,阿里云ecs配置选择 ... [详细]
  • 网络运维工程师负责确保企业IT基础设施的稳定运行,保障业务连续性和数据安全。他们需要具备多种技能,包括搭建和维护网络环境、监控系统性能、处理突发事件等。本文将探讨网络运维工程师的职业前景及其平均薪酬水平。 ... [详细]
  • centos 7.0 lnmp成功安装过程(很乱)
    下载nginx[rootlocalhostsrc]#wgethttp:nginx.orgdownloadnginx-1.7.9.tar.gz--2015-01-2412:55:2 ... [详细]
  • 本文详细介绍了 Dockerfile 的编写方法及其在网络配置中的应用,涵盖基础指令、镜像构建与发布流程,并深入探讨了 Docker 的默认网络、容器互联及自定义网络的实现。 ... [详细]
  • 使用Vultr云服务器和Namesilo域名搭建个人网站
    本文详细介绍了如何通过Vultr云服务器和Namesilo域名搭建一个功能齐全的个人网站,包括购买、配置服务器以及绑定域名的具体步骤。文章还提供了详细的命令行操作指南,帮助读者顺利完成建站过程。 ... [详细]
  • 在成功安装和测试MySQL及Apache之后,接下来的步骤是安装PHP。为了确保安全性和配置的一致性,建议在安装PHP前先停止MySQL和Apache服务,并将MySQL集成到PHP中。 ... [详细]
  • Nginx 反向代理与负载均衡实验
    本实验旨在通过配置 Nginx 实现反向代理和负载均衡,确保从北京本地代理服务器访问上海的 Web 服务器时,能够依次显示红、黄、绿三种颜色页面以验证负载均衡效果。 ... [详细]
  • 全能终端工具推荐:高效、免费、易用
    介绍一款备受好评的全能型终端工具——MobaXterm,它不仅功能强大,而且完全免费,适合各类用户使用。 ... [详细]
  • 在 Ubuntu 22.04 LTS 上部署 Jira 敏捷项目管理工具
    Jira 敏捷项目管理工具专为软件开发团队设计,旨在以高效、有序的方式管理项目、问题和任务。该工具提供了灵活且可定制的工作流程,能够根据项目需求进行调整。本文将详细介绍如何在 Ubuntu 22.04 LTS 上安装和配置 Jira。 ... [详细]
  • 深入解析 Spring Security 用户认证机制
    本文将详细介绍 Spring Security 中用户登录认证的核心流程,重点分析 AbstractAuthenticationProcessingFilter 和 AuthenticationManager 的工作原理。通过理解这些组件的实现,读者可以更好地掌握 Spring Security 的认证机制。 ... [详细]
  • 本文介绍如何在现有网络中部署基于Linux系统的透明防火墙(网桥模式),以实现灵活的时间段控制、流量限制等功能。通过详细的步骤和配置说明,确保内部网络的安全性和稳定性。 ... [详细]
  • 华为云openEuler环境下的Web应用部署实践
    本文详细记录了在华为云openEuler系统上进行Web应用部署的具体步骤,包括配置yum源、安装Apache、MariaDB、PHP及其相关组件,并完成WordPress的安装与配置过程。 ... [详细]
  • CentOS 7 默认安装了 MariaDB,作为 MySQL 的一个分支。然而,出于特定需求,我们可能仍需在系统中安装 MySQL。本文将详细介绍如何通过 Yum 包管理器在 CentOS 7 上安装 MySQL,并提供一些常用的 MySQL 命令。 ... [详细]
  • 在重新安装Ubuntu并配置Django和PyCharm后,忘记测试MySQL连接,导致在后续配置过程中遇到错误:ERROR 2003 (HY000) - 无法连接到本地服务器 ‘127.0.0.1’ (111)。本文将详细介绍该错误的原因及解决步骤,帮助用户快速恢复MySQL服务的正常运行。我们将从检查网络配置、验证MySQL服务状态、配置防火墙规则等方面入手,提供全面的故障排除指南。 ... [详细]
author-avatar
龙晓桥的微博_267
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有