文档章节

CentOS7编译安装Tengine(Nginx)+PHP5.6.0

超龍
 超龍
发布于 2017/09/07 10:32
字数 1026
阅读 4
收藏 1
点赞 0
评论 0

环境是CentOS 7 64bit

先更新下系统:

yum update -y

安装必要软件:

yum install gcc automake autoconf libtool make gcc-c++ zlib-devel openssl-devel vim which bzip2 -y

编译安装pcre:

cd /usr/local/src/
wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.37.tar.gz
tar zvxf pcre-8.37.tar.gz
cd pcre-8.37
./configure
make && make install

编译安装openssl:

cd /usr/local/src/
wget http://www.openssl.org/source/openssl-1.0.1h.tar.gz
tar zvxf openssl-1.0.1h.tar.gz
cd openssl-1.0.1h
./config
make && make install

编译安装zlib:

cd /usr/local/src/
wget http://zlib.net/zlib-1.2.8.tar.gz
tar zvxf zlib-1.2.8.tar.gz
cd zlib-1.2.8
./configure
make && make install

建立www用户组和用户,禁止www登录shell:
groupadd www
useradd -g www www
usermod -s /sbin/nologin www

创建虚拟主机使用目录,并赋予相应权限:

mkdir -p /usr/www/example.com/{public_html,logs}
chmod -R +w /usr/www/
chown -R www:www /usr/www/

编译安装Tengine:

cd /usr/local/src/
wget http://tengine.taobao.org/download/tengine-2.1.2.tar.gz
tar zvxf tengine-2.1.2.tar.gz
cd tengine-2.1.2
./configure –prefix=/usr/local/nginx –user=www –group=www –with-http_gzip_static_module –with-openssl=/usr/local/src/openssl-1.0.1h –with-zlib=/usr/local/src/zlib-1.2.8 –with-pcre=/usr/local/src/pcre-8.37

在这一步,如果发生错误,请 ./configure –help 查看一下哪些模块已经默认是支持的

make && make install

修改nginx.conf文件:

mkdir /usr/local/nginx/conf/domains
vim /usr/local/nginx/conf/nginx.conf

修改:

#user nobody;
worker_processes 1;
#error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;
#pid logs/nginx.pid;
events {
worker_connections 1024;
}

为:

user www www;
worker_processes 4;
error_log logs/error.log crit;
#error_log logs/error.log notice;
#error_log logs/error.log info;
pid logs/nginx.pid;
events {
use epoll;
worker_connections 65535;
}

修改:

http {
include mime.types;
default_type application/octet-stream;

为:

http {
include mime.types;
include domains/*.conf;
default_type application/octet-stream;

:wq保存
测试Nginx:

cd /usr/local/nginx
ldconfig
./sbin/nginx -t

输出:

the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
configuration file /usr/local/nginx/conf/nginx.conf test is successful

测试成功
添加Nginx到开机自动启动:

vim /usr/lib/systemd/system/nginx.service

加入:

[Unit]
Description=The nginx HTTP and reverse proxy server
After=syslog.target network.target remote-fs.target nss-lookup.target
[Service]
Type=forking
PIDFile=/usr/local/nginx/logs/nginx.pid
ExecStartPre=/usr/local/nginx/sbin/nginx -t
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true
[Install]
WantedBy=multi-user.target

:wq保存

systemctl enable nginx

关闭默认防火墙:

systemctl stop firewalld.service
systemctl disable firewalld.service

安装iptables并开启80端口

yum install iptables-services -y
vim /etc/sysconfig/iptables

增加一行:

-A INPUT -p tcp -m state –state NEW -m tcp –dport 80 -j ACCEPT

:wq保存

重启iptables并设定开机自动启动:

systemctl restart iptables.service
systemctl enable iptables.service

安装安装MariaDB(MySQL的替代),请参考http://www.fuwu360.com/technology/linux/centos7-mariadb.html

安装编译PHP的必要应用:

yum install -y gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libpng libpng-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses curl openssl-devel gdbm-devel db4-devel libXpm-devel libX11-devel gd-devel gmp-devel readline-devel libxslt-devel expat-devel xmlrpc-c xmlrpc-c-devel file

编译安装libmcrypt:

cd /usr/local/src/
wget ftp://mcrypt.hellug.gr/pub/crypto/mcrypt/libmcrypt/libmcrypt-2.5.7.tar.gz
tar zxvf libmcrypt-2.5.7.tar.gz
cd libmcrypt-2.5.7
./configure
make && make install

编译安装PHP:

我安装的是PHP5.6.0版本,如果你要安装低版本,下载其它版本即可

cd /usr/local/src/
wget http://cn2.php.net/distributions/php-5.6.0.tar.gz
tar zxvf php-5.6.0.tar.gz
cd php-5.6.0
./configure –prefix=/usr/local/php-5.6.0 –with-mysql –with-mysql-sock –with-mysqli –enable-fpm –enable-soap –with-libxml-dir –with-openssl –with-mcrypt –with-mhash –with-pcre-regex –with-sqlite3 –with-zlib –enable-bcmath –with-iconv –with-bz2 –enable-calendar –with-curl –with-cdb –enable-dom –enable-exif –enable-fileinfo –enable-filter –with-pcre-dir –enable-ftp –with-gd –with-openssl-dir –with-jpeg-dir –with-png-dir –with-zlib-dir –with-freetype-dir –enable-gd-native-ttf –enable-gd-jis-conv –with-gettext –with-gmp –with-mhash –enable-json –enable-mbstring –disable-mbregex –disable-mbregex-backtrack –with-libmbfl –with-onig –enable-pdo –with-pdo-mysql –with-zlib-dir –with-pdo-sqlite –with-readline –enable-session –enable-shmop –enable-simplexml –enable-sockets –enable-sysvmsg –enable-sysvsem –enable-sysvshm –enable-wddx –with-libxml-dir –with-xsl –enable-zip –enable-mysqlnd-compression-support –with-pear –disable-fileinfo

内存较低,所以加了–disable-fileinfo,不然编译会报错

make && make install

复制配置文件:

cp /usr/local/php-5.6.0/etc/php-fpm.conf.default /usr/local/php-5.6.0/etc/php-fpm.conf
cp /usr/local/src/php-5.6.0/sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
cp /usr/local/src/php-5.6.0/php.ini-production /usr/local/php-5.6.0/lib/php.ini
修改配置文件:

vim /usr/local/php-5.6.0/etc/php-fpm.conf
找到这些值修改

pm.max_children = 50
pm.start_servers = 20
pm.min_spare_servers = 5
pm.max_spare_servers = 35
去掉

;pm.max_requests = 500
的注释,然后
:wq保存
设置php-fpm开机自动启动

chmod a+x /etc/init.d/php-fpm
chkconfig php-fpm on
将PHP的bin目录加入环境变量:

chmod +x /etc/profile
vim /etc/profile.d/php.sh
加入

PATH=$PATH:/usr/local/php5.6.0/bin
export PATH

:wq保存

chmod +x /etc/profile.d/php.sh
source /etc/profile
ln -s /usr/local/php-5.6.0/sbin/php-fpm /bin/php-fpm
创建网站配置文件:

vim /usr/local/nginx/conf/domains/example.com.conf
输入

server {
server_name example.com;
listen 80;
root /usr/www/example.com/public_html;
access_log /usr/www/example.com/logs/access.log;
error_log /usr/www/example.com/logs/error.log;
index index.php;
location / {
try_files $uri $uri/ /index.php?q=$uri&$args;
}
location ~* \.(jpg|jpeg|gif|css|png|js|ico|html)$ {
access_log off;
expires max;
}
location ~ /\.ht {
deny all;
}
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include /usr/local/nginx/conf/fastcgi_params;
}
}
:wq保存
重启系统 :

reboot

© 著作权归作者所有

共有 人打赏支持
超龍
粉丝 1
博文 30
码字总数 8618
作品 0
朝阳
centos7配置tengine2.1.0出错

今天按照教程上说的在centos7上配置tengine出错Starting nginx (via systemctl): Failed to issue method call: Unit nginx.service is masked. [失败] 在网上搜也没搜到 具体我的配置过程如...

我自横刀微笑 ⋅ 2016/11/02 ⋅ 3

使用Tengine concat模块合并多个CSS,JS 请求

用淘宝改良的Nginx(Tengine)提供web服务 今天在本博客上顺利把Nginx换成了Tengine;并启用了动态加载模块 modconcat,对本博客使用的知更鸟主题各个页面head模板中大量调用的多个CSS,JSS请...

闪电 ⋅ 2015/08/12 ⋅ 0

制作Debian风格的Tengine deb包

前面尝试了一下tengine的动态加载模块的功能,觉得这样就有可能有大量部署的机会了,之前没用nginx是因为每次需要添加新的功能都需要重新编译一次,虽然nginx在性能上比apache好,但是如果有...

China_OS ⋅ 2012/12/13 ⋅ 5

Tengine初体验——ubuntu安装tengine

最近团队在搞前端创新,准备引入一些新技术,在同事发的邮件中,看到了淘宝基于nginx开发的静态服务器——Tengine。在“one company”的理念下,公司静态服务器很有可能从独角兽切换到Tengi...

北河 ⋅ 2012/08/17 ⋅ 2

使用nlv进行web开发 —— 第一篇:安装Tengine+LuaJIT

nlv架构目前只支持linux,最好是64位linux,比如fedora19,centOS6.4 安装系统所需web软件 1.下载luajit,官网 http://luajit.org/ wget http://luajit.org/download/LuaJIT-2.0.1.tar.gz tar......

summer ⋅ 2013/12/04 ⋅ 0

Tengine/Nginx 安装

一.Tengine是什么 简介 Tengine是由淘宝网发起的Web服务器项目。它在Nginx的基础上,针对大访问量网站的需求,添加了很多高级功能和特性。Tengine的性能和稳定性已经在大型的网站如淘宝网,天...

vincent927 ⋅ 2016/01/19 ⋅ 0

使用nginx lua velocity的网站架构

本架构目前只支持linux,最好是64位linux,比如fedora19 安装系统所需web软件 1.下载luajit,官网 http://luajit.org/ wget http://luajit.org/download/LuaJIT-2.0.1.tar.gz tar xzvf LuaJIT......

summer ⋅ 2013/12/03 ⋅ 6

Tengine 结合 lua 防御 cc ***

原文出处:https://help.aliyun.com/knowledge_detail/41336.html 本文介绍一种 Tengine 结合 lua 防御 cc ***的案例。用户可以进行相关尝试,但本文只用于操作演示,不对操作结果和出现的问...

kuSorZ ⋅ 06/21 ⋅ 0

Linux基础之软件管理 编译安装

源码安装(编译安装) 前提:系统内需要存在编译器gcc yum install gcc -y 三部曲: ./configure --prefix=安装路径 make make install 卸载:两种方法 make uninstall make clean make distcle...

胤999 ⋅ 2017/12/27 ⋅ 0

Tengine动态开启模块试用

Tengine是由淘宝网发起的Web服务器项目。它在Nginx的基础上,针对大访问量网站的需求,添加了很多高级功能和特性。关于Tengine的详细信息可以浏览http://tengine.taobao.org/,nginx因为不能...

China_OS ⋅ 2012/12/11 ⋅ 5

没有更多内容

加载失败,请刷新页面

加载更多

下一页

tcp/ip详解-链路层

简介 设计链路层的目的: 为IP模块发送和接收IP数据报 为ARP模块发送ARP请求和接收ARP应答 为RARP模块发送RARP请求和接收RARP应答 TCP/IP支持多种链路层协议,如以太网、令牌环往、FDDI、RS-...

loda0128 ⋅ 今天 ⋅ 0

spring.net aop代码例子

https://www.cnblogs.com/haogj/archive/2011/10/12/2207916.html

whoisliang ⋅ 今天 ⋅ 0

发送短信如何限制1小时内最多发送11条短信

发送短信如何限制1小时内最多发送11条短信 场景: 发送短信属于付费业务,有时为了防止短信攻击,需要限制发送短信的频率,例如在1个小时之内最多发送11条短信. 如何实现呢? 思路有两个 截至到当...

黄威 ⋅ 昨天 ⋅ 0

mysql5.7系列修改root默认密码

操作系统为centos7 64 1、修改 /etc/my.cnf,在 [mysqld] 小节下添加一行:skip-grant-tables=1 这一行配置让 mysqld 启动时不对密码进行验证 2、重启 mysqld 服务:systemctl restart mysql...

sskill ⋅ 昨天 ⋅ 0

Intellij IDEA神器常用技巧六-Debug详解

在调试代码的时候,你的项目得debug模式启动,也就是点那个绿色的甲虫启动服务器,然后,就可以在代码里面断点调试啦。下面不要在意,这个快捷键具体是啥,因为,这个keymap是可以自己配置的...

Mkeeper ⋅ 昨天 ⋅ 0

zip压缩工具、tar打包、打包并压缩

zip 支持压缩目录 1.在/tmp/目录下创建目录(study_zip)及文件 root@yolks1 study_zip]# !treetree 11└── 2 └── 3 └── test_zip.txt2 directories, 1 file 2.yum...

蛋黄Yolks ⋅ 昨天 ⋅ 0

聊聊HystrixThreadPool

序 本文主要研究一下HystrixThreadPool HystrixThreadPool hystrix-core-1.5.12-sources.jar!/com/netflix/hystrix/HystrixThreadPool.java /** * ThreadPool used to executed {@link Hys......

go4it ⋅ 昨天 ⋅ 0

容器之上传镜像到Docker hub

Docker hub在国内可以访问,首先要创建一个账号,这个后面会用到,我是用126邮箱注册的。 1. docker login List-1 Username不能使用你注册的邮箱,要用使用注册时用的username;要输入密码 ...

汉斯-冯-拉特 ⋅ 昨天 ⋅ 0

SpringBoot简单使用ehcache

1,SpringBoot版本 2.0.3.RELEASE ①,pom.xml <parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.0.3.RELE......

暗中观察 ⋅ 昨天 ⋅ 0

Spring源码解析(八)——实例创建(下)

前言 来到实例创建的最后一节,前面已经将一个实例通过不同方式(工厂方法、构造器注入、默认构造器)给创建出来了,下面我们要对创建出来的实例进行一些“加工”处理。 源码解读 回顾下之前...

MarvelCode ⋅ 昨天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部