2019独角兽企业重金招聘Python工程师标准>>> hot3.png

此文多处从网络博文里借鉴,自己整合如下

系统平台:RHEL 5.4(32位系统)2.6.18-406.el5

yum安装相关函数库,方便快捷,节省时间,避免得不偿失。233333

gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel libidn libidn-devel openssl openssl-devel openldap openldap-devel nss_ldap openldap-clients openldap-servers

下载安装包

cd /usr/local/src

wget http://blog.s135.com/soft/linux/nginx_php/nginx/nginx-0.8.46.tar.gz \

wget http://blog.s135.com/soft/linux/nginx_php/php/php-5.2.14.tar.gz \

wget http://blog.s135.com/soft/linux/nginx_php/phpfpm/php-5.2.14-fpm-0.5.14.diff.gz \

wget http://blog.s135.com/soft/linux/nginx_php/mysql/mysql-5.5.3-m3.tar.gz \

wget http://blog.s135.com/soft/linux/nginx_php/libiconv/libiconv-1.13.1.tar.gz \

wget http://blog.s135.com/soft/linux/nginx_php/mcrypt/libmcrypt-2.5.8.tar.gz \

wget http://blog.s135.com/soft/linux/nginx_php/mcrypt/mcrypt-2.6.8.tar.gz \

wget http://blog.s135.com/soft/linux/nginx_php/memcache/memcache-2.2.5.tgz \

wget http://blog.s135.com/soft/linux/nginx_php/mhash/mhash-0.9.9.9.tar.gz \

wget http://blog.s135.com/soft/linux/nginx_php/pcre/pcre-8.10.tar.gz \

wget http://blog.s135.com/soft/linux/nginx_php/eaccelerator/eaccelerator-0.9.6.1.tar.bz2 \

wget http://blog.s135.com/soft/linux/nginx_php/pdo/PDO_MYSQL-1.0.2.tgz \

wget http://blog.s135.com/soft/linux/nginx_php/imagick/ImageMagick.tar.gz \

wget http://blog.s135.com/soft/linux/nginx_php/imagick/imagick-2.3.0.tgz

1.安装libiconv

对文本进行编码间的转换,用它来处理中文各种编码之间的转换。

#tar zxvf libiconv-1.13.1.tar.gz

#cd libiconv-1.13.1/

#./configure --prefix=/usr/local

#make

#make install

cd ../

2.安装libmcrypt 实现加密功能的库。

# tar zxvf libmcrypt-2.5.8.tar.gz

# cd libmcrypt-2.5.8/

# ./configure

# make

# make install

# /sbin/ldconfig

# 注:这里不要退出去了。

# cd libltdl/

# ./configure --enable-ltdl-install

# make

# make install

# cd ../

3. 安装mhash(哈稀函数库)

# tar zxvf mhash-0.9.9.9.tar.gz

# cd mhash-0.9.9.9/

# ./configure

# make

# make install

# cd ../

ln -s /usr/local/lib/libmcrypt.la /usr/lib/libmcrypt.la && ln -s /usr/local/lib/libmcrypt.so /usr/lib/libmcrypt.so && ln -s /usr/local/lib/libmcrypt.so.4 /usr/lib/libmcrypt.so.4 && ln -s /usr/local/lib/libmcrypt.so.4.4.8 /usr/lib/libmcrypt.so.4.4.8 && ln -s /usr/local/lib/libmhash.a /usr/lib/libmhash.a && ln -s /usr/local/lib/libmhash.la /usr/lib/libmhash.la && ln -s /usr/local/lib/libmhash.so /usr/lib/libmhash.so && ln -s /usr/local/lib/libmhash.so.2 /usr/lib/libmhash.so.2 && ln -s /usr/local/lib/libmhash.so.2.0.1 /usr/lib/libmhash.so.2.0.1 && ln -s /usr/local/bin/libmcrypt-config /usr/bin/libmcrypt-config

4. 安装mcrypt

# tar zxvf mcrypt-2.6.8.tar.gz

# cd mcrypt-2.6.8/

# /sbin/ldconfig

#./configure

# make

# make install

# cd ../

安装mysql

groupadd mysql

useradd -g mysql mysql

mkdir -p /usr/local/mysql

chown mysql:mysql -R /usr/local/mysql

tar zxvf mysql-5.5.3-m3.tar.gz

cd mysql-5.5.3-m3

./configure --prefix=/usr/local/mysql --without-debug --enable-thread-safe-client --with-pthread --enable-assembler --enable-profiling --with-mysqld-ldflags=-all-static --with-client-ldflags=-all-static --with-extra-charsets=all --with-plugins=all --with-mysqld-user=mysql --without-embedded-server --with-server-suffix=-community --with-unix-socket-path=/tmp/mysql.sock

make && make install

#初始化数据库

/usr/local/mysql/bin/mysql_install_db --user=mysql

将MySQL添加到系统服务

cp ./support-files/mysql.server /etc/init.d/mysql

chmod 755 /etc/init.d/mysql

chkconfig --add mysql

chkconfig mysql on

#启动数据库

service mysql start                  or  /usr/local/mysql/bin/mysqld_safe --user=mysql &

#修改 mysql 登录密码

/usr/local/mysql/bin/mysqladmin -uroot password "hello"

#用 mysql 登录

/usr/local/mysql/bin/mysql -uroot -p

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'hello';

FLUSH PRIVILEGES;

#准备 mysql 配置文件

cp ./support-files/my-medium.cnf /etc/my.cnf

#设置连接字符集添加如下两行

vi /etc/my.cnf

[client]

default-character-set=utf8

#重启 mysql 服务让字符集生效

pkill mysql or /usr/local/mysql/bin/mysqladmin shutdown  #关闭数据库

/usr/local/mysql/bin/mysqld_safe --user=mysql &

ln -s /usr/local/mysql/lib/mysql/libmysqlclient.so.16 /usr/lib

建立软连接,不然编译php会报错

5. 编译安装 PHP( FastCGI 模式)

tar zxvf php-5.2.14.tar.gz

gzip -cd php-5.2.14-fpm-0.5.14.diff.gz | patch -d php-5.2.14 -p1

cd php-5.2.14/

./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc \

--with-mysql=/usr/local/mysql --with-mysqli=/usr/local/mysql/bin/mysql_config \

--with-iconv-dir=/usr/local --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib \

--with-libxml-dir=/usr --enable-xml --disable-rpath --enable-discard-path --enable-safe-mode \

--enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --with-curl \

--with-curlwrappers --enable-mbregex --enable-fastcgi --enable-fpm --enable-force-cgi-redirect \

--enable-mbstring --with-mcrypt --with-gd --enable-gd-native-ttf --with-openssl --with-mhash \

--enable-pcntl --enable-sockets --with-ldap --with-ldap-sasl --with-xmlrpc --enable-zip \

--enable-soap

注:Nginx+PHP整合,在安装时必须启用-–enable-fastcgi和--enable-fpm

make ZEND_EXTRA_LIBS='-liconv'

make install

cp php.ini-dist /usr/local/php/etc/php.ini

cd ../

6.准备编译安装 PHP5 扩展模块

tar zxvf memcache-2.2.5.tgz

cd memcache-2.2.5/

/usr/local/php/bin/phpize

./configure --with-php-config=/usr/local/php/bin/php-config

make && make install

说明:memcache库的位置Installing shared extensions:/usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/

cd ../

安装eaccelerator php加速

tar jxvf eaccelerator-0.9.6.1.tar.bz2

cd eaccelerator-0.9.6.1/

/usr/local/php/bin/phpize

./configure --enable-eaccelerator=shared --with-php-config=/usr/local/php/bin/php-config

make && make install

cd ../

安装PDO_MYSQL(数据库连接的支持)

tar zxvf PDO_MYSQL-1.0.2.tgz

cd PDO_MYSQL-1.0.2/

/usr/local/php/bin/phpize

./configure --with-php-config=/usr/local/php/bin/php-config --with-pdo-mysql=/usr/local/mysql

make && make install

cd ../

安装ImageMagick是Linux下非常强大的图象处理函数与GD类似

tar zxvf ImageMagick.tar.gz

cd ImageMagick-6.5.1-2/

./configure

make

make install

cd ../

安装imagick(连接PHP和ImageMagick的通道)

tar zxvf imagick-2.3.0.tgz

cd imagick-2.3.0/

/usr/local/php/bin/phpize

./configure --with-php-config=/usr/local/php/bin/php-config

make && make install

cd ../

7. 修改 php.ini 文件,让 php 模块生效

vi /usr/local/php/etc/php.ini

查找

extension_dir = "./"

修改为

extension_dir="/usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/"

并在此行后增加以下几行,然后保存:

extension = "memcache.so"

extension = "pdo_mysql.so"

extension = "imagick.so"

再查找output_buffering = Off

修改为output_buffering = On

去掉注释cgi.fix_pathinfo=0,防止 Nginx 文件类型错误解析漏洞

8.配置 eaccelerator 加速 PHP

mkdir -p /usr/local/eaccelerator_cache

#准备 eaccelerator 缓存目录

vi /usr/local/php/etc/php.ini

到配置文件的最末尾,粘上以下内容:

[eaccelerator]

zend_extension="/usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/eaccelerator.so"

eaccelerator.shm_size="64"

eaccelerator.cache_dir="/usr/local/eaccelerator_cache"

eaccelerator.enable="1"

eaccelerator.optimizer="1"

eaccelerator.check_mtime="1"

eaccelerator.debug="0"

eaccelerator.filter=""

eaccelerator.shm_max="0"

eaccelerator.shm_ttl="3600"

eaccelerator.shm_prune_period="3600"

eaccelerator.shm_only="0"

eaccelerator.compress="1"

eaccelerator.compress_level="9"

9.准备 php-cgi 和 nginx 进程执行者用户

groupadd nginx

useradd -g nginx nginx

10. 创建 php-fpm 配置文件- php-fpm.conf

最好备份下/usr/local/php/etc/php-fpm.conf

建立新的配置内容如下

vi /usr/local/php/etc/php-fpm.conf

<?xml version="1.0" ?>

<configuration>

<section name="global_options">

<value name="pid_file">/usr/local/php/logs/php-fpm.pid</value>

<value name="error_log">/usr/local/php/logs/php-fpm.log</value>

<value name="log_level">notice</value>

<value name="emergency_restart_threshold">10</value>

<value name="emergency_restart_interval">1m</value>

<value name="process_control_timeout">5s</value>

<value name="daemonize">yes</value>

</section>

<workers>

<section name="pool">

<value name="name">default</value>

<value name="listen_address">127.0.0.1:9000</value>

<value name="listen_options">

<value name="backlog">-1</value>

<value name="owner"></value>

<value name="group"></value>

<value name="mode">0666</value>

</value>

<value name="php_defines">

<value name="sendmail_path">/usr/sbin/sendmail -t -i</value>

<value name="display_errors">1</value>

</value>

<value name="user">nginx</value>

<value name="group">nginx</value>

<value name="pm">

<value name="style">static</value>

<value name="max_children">128</value>

<value name="apache_like">

<value name="StartServers">20</value>

<value name="MinSpareServers">5</value>

<value name="MaxSpareServers">35</value>

</value>

</value>

<value name="request_terminate_timeout">0s</value>

<value name="request_slowlog_timeout">0s</value>

<value name="slowlog">logs/slow.log</value>

<value name="rlimit_files">51200</value>

<value name="rlimit_core">0</value>

<value name="chroot"></value>

<value name="chdir"></value>

<value name="catch_workers_output">yes</value>

<value name="max_requests">500</value>

<value name="allowed_clients">127.0.0.1</value>

<value name="environment">

<value name="HOSTNAME">$HOSTNAME</value>

<value name="PATH">/usr/local/bin:/usr/bin:/bin</value>

<value name="TMP">/tmp</value>

<value name="TMPDIR">/tmp</value>

<value name="TEMP">/tmp</value>

<value name="OSTYPE">$OSTYPE</value>

<value name="MACHTYPE">$MACHTYPE</value>

<value name="MALLOC_CHECK_">2</value>

</value>

</section>

</workers>

</configuration>

说明

<value name="display_errors">0</value>

#0 改成 1,页面上会输出错误日志

Unix user of processes

<value name="user">nginx</value>

Unix group of processes

<value name="group">nginx</value>

<value name="max_children">128</value>

#最大子进程数 128,如果内存小于 2G,则 64 个最佳

<value name="rlimit_files">65535</value>

# Set open file desc rlimit,同时打开的文件数,linux 系统允许同时打开的文件数为 1024,修改

linux 系统中允许同时打开的文件,ulimit -SHn 65535,而且这个参数重启后还能生效,加到

/etc/profile 全局配置文件的最后,开机就会生效,ulimit -a 查看 open files 65535

<value name="max_requests">1024</value>

#最大请求数, How much requests each process should execute before respawn.一个子进程能够

回应 1042 个请求

11. 启动 php-cgi(fastcgi)进程,监听 127.0.0.1 的 9000 端口,进程数为 128(如果服务器内

存小于 3GB,可以只开启 64 个进程),用户为 nginx:

/usr/local/php/sbin/php-fpm start

转载于:https://my.oschina.net/u/2404183/blog/480529

REHL 5.4 下编译安装LNMP(上)相关推荐

  1. centos系统php环境配置,CentOS 6.4系统下编译安装LNMP和配置PHP环境具体步骤

    一.准备工作 上pkgs.org下载rmpforge.rpmforge是一个第三方yum源. 选择相应的版本下载安装. // 安装成功后,清空yum list 并 重新获取 [root@pangou ...

  2. CentOS6.9编译安装LNMP环境

    CentOS6.9编译安装LNMP环境 今天尝试一下用编译的方式来搭建lnmp运行环境.所有软件都采用当前最新版本,除了CentOS.这是由于目前企业大多数应该都还在使用CentOS6的缘故,并且Ce ...

  3. linux nginx编译安装mysql_Centos7下编译安装配置Nginx+PHP+MySql环境

    序言 这次玩次狠得.除了编译器使用yum安装,其他全部手动编译.哼~ 看似就Nginx.PHP.MySql三个东东,但是它们太尼玛依赖别人了. 没办法,想用它们就得老老实实给它们提供想要的东西. 首先 ...

  4. Ubuntu16下编译安装Open Babel2.4.1和python绑定

    上一篇介绍的是CentOS 7下编译安装Open Babel2.4.1和python绑定点击打开链接 一.Open Babel简介 Open Babel是一款开源自由软件,使用Open Babel可以 ...

  5. linux 保存编译log,(转)Linux下编译安装log4cxx

    一个项目的服务器端在Linux平台下,用到了开源日志库log4cxx,这个库是apache项目的一个子库.功能很不错.下面记录下它的编译和安装过程. 第一步安装apr-1.3.8,顺序不能错,它必须首 ...

  6. 在Ubuntu下编译安装atom编辑器

    2019独角兽企业重金招聘Python工程师标准>>> 今天一大早就在开源中国首页看到了atom编辑器可以下载使用的消息,打开一看只提供Mac版的安装包.于是去Github上看了看, ...

  7. linux mysql5.6编译_Linux 环境下编译安装MySQL5.6的笔记记录

    一.首先搭建好Linux环境,我这边使用的是redhat enterprise 6.5,并且建议磁盘划分逻辑卷,以便后期的扩容工作. 二.环境搭建好了之后,我们就要去准备MySQL的安装文件,到现在为 ...

  8. centos 编译mysql5.6_centos下编译安装MySQL5.6

    ,虚拟机centos6.5mini 网络适配器"桥接模式" 继续上一次的Apache编译后,编译安装MySQL5.6 MySQL5.6和以前的版本不同之处在于用cmake就行编译, ...

  9. freerdp 解压安装_Ubuntu下编译安装运作FreeRdp连接Windows

    Ubuntu下编译安装运行FreeRdp连接Windows. linux下编译源码进行USB重定向到远程桌面的测试,经过参数的正确配置,可以正常的重定向.具体的操作步骤如下: ⑴在虚拟机上安装git, ...

  10. linux3.10.53编译,根据官方文档在Linux下编译安装Apache

    根据官方文档在Linux下编译安装Apache 前言 永远记住官方文档才是最准确的安装手册,这篇文章仅为对官方文档的解读和补充,学习提升务必阅读官方文档: http://httpd.apache.or ...

最新文章

  1. 一个带有误差棒的另一个箱图
  2. php如何对 mysql 中text类型拆分存入一个数组_PHP、Mysql笔试题
  3. 常考数据结构与算法:平衡二叉树
  4. Linux下编译Boost
  5. potplayer 多个进程_操作系统 | 进程同步与进程互斥
  6. 静态内部类 java 1614958017
  7. Linux操作系统RedHat6.5安装
  8. 查看ORACLE的实际执行计划
  9. c语言bmp转换jpeg_PDF格式转换工具
  10. POJ-1681 Painter's Problem 高消
  11. 密码加密模块 bcrypt (详细,好理解,示例源码)
  12. 【DFS笔记】对dfs(index,状态)一类问题的思考
  13. android6.0如何锁定程序,如何在Android中制作应用程序锁定应用程序?
  14. 已知任意三点坐标求圆心
  15. 信息学奥赛一本通 1197 山区建小学(区间DP)
  16. 【Android开发】考试系统
  17. HTML||从一个页面跳转至另一个html页面的子页面(超链接)
  18. hcs12 microcontroller 笔记
  19. excel工具栏隐藏了怎么办_你会用 Excel照相机吗?
  20. 从安格视,安维到安尼

热门文章

  1. C# RabbitMQ(一)介绍
  2. abp框架启动自动指向swagger界面
  3. Laravel的中间件
  4. Python下载(Windows)
  5. 贪吃蛇c语言判断没有输入,贪吃蛇问题
  6. RSA加密:javax.crypto.IllegalBlockSizeException: Data must not be longer than 117 bytes
  7. 全网首发:ScrollBarUI混淆后效果错误的分析
  8. 内存少导致编译出错,内存增加到24G
  9. 安装debian,服务器选择ftp2.cn
  10. python POST发送多个段(如json消息+文件)