热门标签 | 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


推荐阅读
  • Linux一键安装web环境全攻略
    摘自阿里云服务器官网,此处一键安装包下载:点此下载安装须知1、此安装包可在阿里云所有Linux系统上部署安装,此安装包包含的软件及版本为& ... [详细]
  • svnWebUI:一款现代化的svn服务端管理软件
    svnWebUI是一款图形化管理服务端Subversion的配置工具,适用于非程序员使用。它解决了svn用户和权限配置繁琐且不便的问题,提供了现代化的web界面,让svn服务端管理变得轻松。演示地址:http://svn.nginxwebui.cn:6060。 ... [详细]
  • Apache Shiro 身份验证绕过漏洞 (CVE202011989) 详细解析及防范措施
    本文详细解析了Apache Shiro 身份验证绕过漏洞 (CVE202011989) 的原理和影响,并提供了相应的防范措施。Apache Shiro 是一个强大且易用的Java安全框架,常用于执行身份验证、授权、密码和会话管理。在Apache Shiro 1.5.3之前的版本中,与Spring控制器一起使用时,存在特制请求可能导致身份验证绕过的漏洞。本文还介绍了该漏洞的具体细节,并给出了防范该漏洞的建议措施。 ... [详细]
  • Linux下部署Symfoy2对app/cache和app/logs目录的权限设置,symfoy2logs
    php教程|php手册xml文件php教程-php手册Linux下部署Symfoy2对appcache和applogs目录的权限设置,symfoy2logs黑色记事本源码,vsco ... [详细]
  • 构建LNMP架构平台
    LNMP架构的组成:Linux、Nginx、MySQL、PHP关于NginxNginx与apache的作用一样,都是为了搭建网站服务器,由俄罗斯人lgorsysoev开发,其特点是 ... [详细]
  • 本文介绍了在Mac上搭建php环境后无法使用localhost连接mysql的问题,并通过将localhost替换为127.0.0.1或本机IP解决了该问题。文章解释了localhost和127.0.0.1的区别,指出了使用socket方式连接导致连接失败的原因。此外,还提供了相关链接供读者深入了解。 ... [详细]
  • 众筹商城与传统商城的区别及php众筹网站的程序源码
    本文介绍了众筹商城与传统商城的区别,包括所售产品和玩法不同以及运营方式不同。同时还提到了php众筹网站的程序源码和方维众筹的安装和环境问题。 ... [详细]
  • PHP组合工具以及开发所需的工具
    本文介绍了PHP开发中常用的组合工具和开发所需的工具。对于数据分析软件,包括Excel、hihidata、SPSS、SAS、MARLAB、Eview以及各种BI与报表工具等。同时还介绍了PHP开发所需的PHP MySQL Apache集成环境,包括推荐的AppServ等版本。 ... [详细]
  • 【BP靶场portswigger服务端10】XML外部实体注入(XXE注入)9个实验(全)
    前言:介绍:博主:网络安全领域狂热爱好者(承诺在CSDN永久无偿分享文章)。殊荣:CSDN网络安 ... [详细]
  • Linux环境中使用Mysql数据库
    Linux下Mysql数据库MySQL是一个开放源码的小型关联式数据库管理系统,开发者为瑞典MySQLAB公司,目前属于Oracle公司,MySQL被广泛地应用在I ... [详细]
  • 阿里云主机实战应用之centos7上的防火墙设置
    最近公司又上了一台服务器,以前都是用centos6系统,这次选择使用了centos7系统的安装镜像,因为现在程序版本在centos7上一般php默认就是5.4以上的,mysql也 ... [详细]
  • 数据库进入全新时代,腾讯云发布五大数据库提前布局
    8月28日,腾讯云数据库在京正式启动战略升级,宣布未来将聚焦云原生、自治、超融合三大战略方向,以用户为中心,联接未来。并在现场面向全球用户同步发布五大战略级新品,包括数据库智能管家 ... [详细]
  • MySQL/MariaDB/PerconaDB提权条件漏洞
    背景  2016年11月01日,国外安全研究员DawidGolunski在MyS ... [详细]
  • 本文是搭建的mariadb-10.0.17版本的下载地址:https:downloads.mariadb.orginterstitialmariadb-10.0.17sourcemariadb-10.0.17.tar.gzfromhtt ... [详细]
  • 1.ATP方式安装在ubuntu系统的apt软件仓库中,默认存在MySQL数据库,所以直接使用apt命令就可以安装。使用命令:aptapt-getin ... [详细]
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社区 版权所有