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

64位CentOS6.4系统安装Tengine+MaraiaDB+PHP-FPM服务器环境

安装说明系统环境:Centos6.4X64安装方式:yum安装说明:tengine是由淘宝网发起的Web服务器项目。它在tengine的基础上,针对大访问量网站的需求,添加了很多高级功能和特性。tengine的性能和稳定性已经在大型的网站如淘宝网,天猫商城等得到了很好的检验
安装说明
系统环境:Centos6.4X64
安装方式:yum安装

说明:
tengine是由淘宝网发起的Web服务器项目。它在tengine的基础上,针对大访问量网站的需求,添加了很多高级功能和特性。tengine的性能和稳定性已经在大型的网站如淘宝网,天猫商城等得到了很好的检验。它的最终目标是打造一个高效、稳定、安全、易用的Web平台。
tengine不支持对外部程序的直接调用或者解析,所有的外部程序(包括PHP)必须通过FastCGI接口来调用。FastCGI接口在Linux下是socket,(这个socket可以是文件socket,也可以是ip socket)。为了调用CGI程序,还需要一个FastCGI的wrapper(wrapper可以理解为用于启动另一个程序的程序),这个wrapper绑定在某个固定socket上,如端口或者文件socket。当tengine将CGI请求发送给这个socket的时候,通过FastCGI接口,wrapper接纳到请求,然后派生出一个新的线程,这个线程调用解释器或者外部程序处理脚本并读取返回数据;接着,wrapper再将返回的数据通过FastCGI接口,沿着固定的socket传递给tengine;最后,tengine将返回的数据发送给客户端,这就是tengine+FastCGI的整个运作过程。

1.安装MariaDB
由于Oracle进一步对mysql闭源的举措让人难以安心,众多互联网公司纷纷开始寻求MySQL的替代方案。而MariaDB是一个向后兼容、替代MySQL的数据库服务器。它包含所有主要的开源存储引擎。所以建议使用MariaDB

1.先卸载系统中mysql数据库
[root@tengine ~]#yum remove mysqlmysql-*
163804306.jpg

2.配置Mariadb安装源
在 /etc/yum.repos.d/ 下建立 MariaDB.repo,内容如下:
[root@tengine ~]# vi/etc/yum.repos.d/MariaDB.repo
[mariadb]
name = MariaDB
baseurl =http://yum.mariadb.org/10.0.4/centos6-amd64/
gpgkey=http://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1
163823729.jpg

3.使用YUM安装MariaDB
[root@tengine ~]#yum -y installMariaDB-client MariaDB-server MariaDB-devel
163921494.jpg

4.启动数据库
[root@tengine ~]#service mysqlstart
5.修改Root的密码
[root@tengine ~]# mysqladmin -uroot password ‘password’

2.关闭selinux和设置iptable防火墙
1.关闭selinux
[root@tengine ~]# vi/etc/selinux/config
把SELINUX= enforcing更改为SELINUX=disable
171343586.jpg

如果要selinux马上生效,需要输入
[root@tengine ~]# setenforce 0
163920540.jpg

2.设置iptable
[root@tengine ~]# vi/etc/sysconfig/iptables
增加
-AINPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 443 -j ACCEPT
163925161.jpg

3.添加一个nginx用户
[root@tengine ~]#useradd -s /sbin/nologin nginx
163920501.jpg

4.安装pcre
1.下载pcre
[root@tengine ~]#wget http://jaist.dl.sourceforge.net/project/pcre/pcre/8.33/pcre-8.33.tar.gz
163921659.jpg

2.安装pcre用于支持tengine伪静态
[root@tengine ~]#tar -zxvf pcre-8.33.tar.gz
[root@tengine ~]#mkdir /usr/local/pcre
[root@tengine ~]#cd pcre-8.33
[root@tengine pcre-8.33]#./configure --prefix=/usr/local/pcre
163921985.jpg

[root@tengine pcre-8.33]#make
[root@tengine pcre-8.33]#make install

5.安装tengine
1.下载tengine1.51
[root@tenginepcre-8.33]#cd ~
[root@tengine ~]#yuminstall openssl openssl-devel
[root@tengine ~]#wgethttp://tengine.taobao.org/download/tengine-1.5.1.tar.gz

2.安装tengine
[root@tengine ~]#mkdir/usr/local/nginx
[root@tengine ~]#tar-zxvf tengine-1.5.1.tar.gz
[root@tengine ~]#cdtengine-1.5.1
[root@tengine tengine-1.5.1]# ./configure--prefix=/usr/local/nginx --with-http_stub_status_module --with-pcre=/root/pcre-8.33
注:--with-pcre=/root/pcre-8.33指向的是源码包解压的路径,而不是安装的路径,否则会报错。
[root@tenginetengine-1.5.1]#make
[root@tenginetengine-1.5.1]#make install
[root@tenginetengine-1.5.1]# cd ~
[root@tengine~]#chown nginx.nginx -R /usr/local/nginx/html
[root@tengine~]#chmod 700 -R /usr/local/nginx/html
163922736.jpg

6.设置tengine服务
[root@tengine ~]# vi/etc/rc.d/init.d/nginx
#!/bin/bash
# tengineStartup script# processname: nginx
#chkconfig: - 85 15
#description: nginx is a World Wide Web server. It is used to serve
#pidfile: /var/run/nginx.pid
#config:/usr/local/nginx/conf/nginx.conf
nginxd=/usr/local/nginx/sbin/nginx
nginx_cOnfig=/usr/local/nginx/conf/nginx.conf
nginx_pid=/usr/local/nginx/logs/nginx.pid
RETVAL=0
prog="nginx"
#Sourcefunction library.
./etc/rc.d/init.d/functions
#Sourcenetworking configuration.
./etc/sysconfig/network
#Checkthat networking is up.
[${NETWORKING} = "no" ] && exit 0
[ -x$nginxd ] || exit 0
#Startnginx daemons functions.
start() {
if [ -e$nginx_pid ];then
echo"tengine already running...."
exit 1
fi
echo -n$"Starting $prog: "
daemon$nginxd -c ${nginx_config}
RETVAL=$?
echo
[ $RETVAL= 0 ] && touch /var/lock/subsys/nginx
return$RETVAL
}
#Stopnginx daemons functions.
stop() {
echo -n$"Stopping $prog: "
killproc$nginxd
RETVAL=$?
echo
[ $RETVAL= 0 ] && rm -f /var/lock/subsys/nginx /usr/local/nginx/logs/nginx.pid
}
reload(){
echo -n$"Reloading $prog: "
#kill-HUP `cat ${nginx_pid}
killproc$nginxd -HUP
RETVAL=$?
echo
}
#See howwe were called.
case"$1" in
start)
start
;;
stop)
stop
;;
reload)
reload
;;
restart)
stop
start
;;
status)
status$prog
RETVAL=$?
;;
*)
echo$"Usage: $prog {start|stop|restart|reload|status|help}"
exit 1
esac
exit $RETVAL
[root@tengine ~]# chmod 775 /etc/rc.d/init.d/nginx
[root@tengine ~]# chkconfig nginx on
171754852.jpg

7.安装PHP及相关组件
1.安装PHP
[root@tengine ~]#yum -y install php
163921709.jpg

2.安装PHP组件,使PHP支持FastCGI模式
[root@tengine ~]#yum -y install php-mysql php-gd libjpeg* php-imap php-ldap php-odbcphp-pear php-xml php-xmlrpc php-mbstring php-bcmath php-fpm
163926358.jpg

8.整合Nginx与PHP
[root@tengine ~]#vi /usr/local/nginx/conf/nginx.conf
把第二行注释去掉并把nobody更改为nginx
worker_processes 根据cpu个数进行设置
163924935.jpg

把71行到77行的注释去掉,并把/scripts替换为/usr/local/nginx/html
注:上面的/usr/local/nginx/html 是我们PHP网站放置的路径
163924988.jpg

[root@tengine ~]#vi /etc/php-fpm.d/www.conf
把39行和41行的apache更改为nginx
172510784.jpg
163922559.jpg

9.下载Discuz测试tengine、php和Mariadb
1.测试tengine
在浏览器输入http://IP
163925910.jpg

2.测试php
[root@tengine ~]#vi /usr/local/nginx/html/index.php
phpinfo();
?>
在浏览器输入http://ip/index.php
163925751.jpg

3.下载DiscuzX测试Mariadb
[root@tengine~]#wget http://download.comsenz.com/DiscuzX/3.1/Discuz_X3.1_SC_UTF8.zip
163926275.jpg

[root@tengine~]# unzip Discuz_X3.1_SC_UTF8.zip
[root@tengine~]# mv upload/* /usr/local/nginx/html
[root@tengine~]# chown nginx.nginx -R /usr/local/nginx/html
163926142.jpg

163927841.jpg

163920251.jpg


推荐阅读
  • 在 Ubuntu 22.04 LTS 上部署 Jira 敏捷项目管理工具
    Jira 敏捷项目管理工具专为软件开发团队设计,旨在以高效、有序的方式管理项目、问题和任务。该工具提供了灵活且可定制的工作流程,能够根据项目需求进行调整。本文将详细介绍如何在 Ubuntu 22.04 LTS 上安装和配置 Jira。 ... [详细]
  • 本文详细介绍了如何在云服务器上配置Nginx、Tomcat、JDK和MySQL。涵盖从下载、安装到配置的完整步骤,帮助读者快速搭建Java Web开发环境。 ... [详细]
  • 本文深入探讨了MySQL中常见的面试问题,包括事务隔离级别、存储引擎选择、索引结构及优化等关键知识点。通过详细解析,帮助读者在面对BAT等大厂面试时更加从容。 ... [详细]
  • 本文详细介绍了 Linux 系统中用户、组和文件权限的设置方法,包括基本权限(读、写、执行)、特殊权限(SUID、SGID、Sticky Bit)以及相关配置文件的使用。 ... [详细]
  • 本文档详细介绍了2017年8月31日关于MySQL数据库备份与恢复的教学内容,包括MySQL日志功能、备份策略、备份工具及实战演练。 ... [详细]
  • 本文详细介绍了在不同操作系统中查找和设置网卡的方法,涵盖了Windows系统的具体步骤,并提供了关于网卡位置、无线网络设置及常见问题的解答。 ... [详细]
  • 本文详细介绍了Java中实现异步调用的多种方式,包括线程创建、Future接口、CompletableFuture类以及Spring框架的@Async注解。通过代码示例和深入解析,帮助读者理解并掌握这些技术。 ... [详细]
  • 本文详细介绍了如何解压并安装MySQL集群压缩包,创建用户和组,初始化数据库,配置环境变量,并启动相关服务。此外,还提供了详细的命令行操作步骤和常见问题的解决方案。 ... [详细]
  • 精选多款高效实用软件及工具推荐
    本文介绍并推荐多款高效实用的软件和工具,涵盖系统优化、网络加速、多媒体处理等多个领域,并提供安全可靠的下载途径。 ... [详细]
  • 本文详细阐述了云主机流量的概念,探讨其对网站性能和安全的关键影响,并提供了优化配置的实用建议。 ... [详细]
  • CentOS 7.6环境下Prometheus与Grafana的集成部署指南
    本文旨在提供一套详细的步骤,指导读者如何在CentOS 7.6操作系统上成功安装和配置Prometheus 2.17.1及Grafana 6.7.2-1,实现高效的数据监控与可视化。 ... [详细]
  • 本文深入探讨了 PHP 实现计划任务的方法,包括其原理、具体实现方式以及在不同操作系统中的应用。通过详细示例和代码片段,帮助开发者理解和掌握如何高效地设置和管理定时任务。 ... [详细]
  • 本文介绍如何配置SecureCRT以正确显示Linux终端的颜色,并解决中文显示问题。通过简单的步骤设置,可以显著提升使用体验。 ... [详细]
  • 本文深入探讨了 Delphi 中类对象成员的核心概念,包括 System 单元的基础知识、TObject 类的定义及其方法、TClass 的作用以及对象的消息处理机制。文章不仅解释了这些概念的基本原理,还提供了丰富的补充和专业解答,帮助读者全面理解 Delphi 的面向对象编程。 ... [详细]
  • 本文详细探讨了Java命令行参数的概念、使用方法及在实际编程中的应用,包括如何通过命令行传递参数给Java程序,以及如何在Java程序中解析这些参数。 ... [详细]
author-avatar
迷人的哈喽柯柯_458
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有