linux nginx mysql php 5.5._搭建基于Linux6.3+Nginx1.2+PHP5+MySQL5.5的Web服务器全过程

之前的Web服务器都是通过yum搭建的,想要添加新模块或者更新某些软件都很不方便(牵一发而动全身啊!)。所以,现在准备将环境改为源码编译安装,这样便于调整,性能上也会比yum方式好很多。以下是我的安装步骤,我的系统是CentOS 6.3 64位。

注意:本文所以配置都是基于第二步所下载的软件版本,安装其他版本不保证会成功

推荐阅读:

一:安装依赖包

yum install cmake make gcc gcc-c++ 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-devel libidn libidn-devel openssl expat expat-devel \

openssl-devel nss_ldap openldap openldap-devel openldap-clients openldap-servers unixODBC-devel \

libxslt-devel libevent-devel libtool-ltdl bison libtool pcre-devel zip unzip gmp-devel gd gd-devel

二:下载LNMP所需软件

wget http://downloads.mysql.com/archives/mysql-5.5/mysql-5.5.19.tar.gz

wget http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.14.tar.gz

wget http://iweb.dl.sourceforge.net/project/mcrypt/Libmcrypt/2.5.8/libmcrypt-2.5.8.tar.gz

wget http://iweb.dl.sourceforge.net/project/mhash/mhash/0.9.9.9/mhash-0.9.9.9.tar.gz

wget http://vps.googlecode.com/files/mcrypt-2.6.8.tar.gz

wget http://download-euro.oldapps.com/PHP/php-5.3.18.tar.bz2

wget http://superb-dca2.dl.sourceforge.net/project/eaccelerator/eaccelerator/eAccelerator%200.9.6.1/eaccelerator-0.9.6.1.tar.bz2

wget http://pecl.php.net/get/PDO_MYSQL-1.0.2.tgz

wget http://pecl.php.net/get/memcache-2.2.7.tgz

wget http://www.imagemagick.org/download/legacy/ImageMagick-6.8.3-10.tar.gz

wget http://pecl.php.net/get/imagick-3.0.1.tgz

wget http://pecl.php.net/get/pecl_http-1.7.5.tgz

wget http://jaist.dl.sourceforge.net/project/pcre/pcre/8.33/pcre-8.33.tar.gz

wget http://nginx.org/download/nginx-1.2.9.tar.gz

wget http://sourceforge.net/projects/re2c/files/re2c/0.13.5/re2c-0.13.5.tar.gz/download

wget http://pecl.php.net/get/igbinary-1.1.1.tgz

wget https://github.com/nicolasff/phpRedis/archive/master.zip

三、安装mysql

tar zxf mysql-5.5.19.tar.gz

cd mysql-5.5.19

groupadd mysql

useradd -g mysql -s /sbin/nologin -M mysql

cmake \

-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \

-DSYSCONFDIR=/etc/mysql \

-DMYSQL_UNIX_ADDR=/usr/local/mysql/tmp/mysql.sock \

-DWITH_READLINE=1 \

-DWITH_EMBEDDED_SERVER=1 \

-DMYSQL_DATADIR=/usr/local/mysql/data \

-DMYSQL_USER=mysql \

-DMYSQL_TCP_PORT=3306

make && make install

chown -R mysql.mysql /usr/local/mysql

cd ..

因为有专门的mysql服务器,所以mysql安装到此结束。如果想要在本地运行mysql的话还要做其他配置。比如my.cnf配置文件,mysql启动脚本等等。

四:安装PHP

安装PHP(FastCGI)

### 安装PHP支持库 ###

tar zxf libiconv-1.14.tar.gz

cd libiconv-1.14

./configure --prefix=/usr/local

make

make install

cd ..

tar zxf 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 ../../

tar zxf mhash-0.9.9.9.tar.gz

cd mhash-0.9.9.9/

./configure

make

make install

cd ../

tar zxf mcrypt-2.6.8.tar.gz

cd mcrypt-2.6.8/

./configure

make

make install

cd ../

tar zxf re2c-0.13.5.tar.gz

cd re2c-0.13.5

./configure

make && make install

cd ..

在安装PHP主程序前,还需要做一些调整,不然会各种报错。

echo "/usr/local/lib"  > /etc/ld.so.conf.d/local.conf

echo "/usr/lib64" >> /etc/ld.so.conf.d/local.conf

ln -sv /usr/lib64/libldap* /usr/lib/

ln -sv /usr/include/sqlext.h /usr/local/include/sqlext.h

ln -sv /usr/local/mysql/bin/mysql_config /usr/bin/mysql_config

ln -sv  /usr/local/mysql/lib/libmysqlclient.so.18 /usr/lib64/

ln -sv /lib64/libexpat.* /lib/

ln -sv /usr/lib64/libexpat.* /usr/lib/

ldconfig

现在安装PHP

tar jxf php-5.3.18.tar.bz2

cd php-5.3.18

groupadd nginx

useradd -M -s /sbin/nologin -g nginx nginx

./configure \

--prefix=/usr/local/php --with-config-file-path=/etc --with-config-file-scan-dir=/etc/php.d \

--with-pic --with-bz2 --with-gettext --with-gmp --with-iconv --with-openssl \

--with-zlib --with-layout=GNU --with-kerberos --with-mhash --with-pcre-regex --enable-exif \

--enable-magic-quotes --enable-sockets  --enable-ucd-snmp-hack --enable-shmop --enable-calendar \

--enable-mbstring \

--enable-xml --enable-fpm --enable-gd-native-ttf --enable-exif --enable-soap --with-gd --with-curl \

--with-mcrypt \

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

--with-unixODBC \

--enable-wddx --with-libexpat-dir --with-xmlrpc --with-xsl --with-ldap --enable-bcmath \

--enable-dom --without-gdbm --disable-debug --disable-rpath --disable-fileinfo --without-pspell \

--disable-posix --disable-sysvmsg --disable-sysvshm --disable-sysvsem

make ZEND_EXTRA_LIBS='-liconv'

make install

拷贝配置文件及启动脚本

cp php.ini-production /etc/php.ini

cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm

chmod +x /etc/init.d/php-fpm

chkconfig --add php-fpm

chkconfig php-fpm on

cd ../

安装PHP扩展模块,别忘记在配置文件里开启模块,不然就白装了哈

### 安装扩展模块 ###

tar zxf memcache-2.2.7.tgz

cd memcache-2.2.7/

/usr/local/php/bin/phpize

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

make

make install

cd ../

tar jxf 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

mkdir /tmp/cache/eaccelerator

chmod 0777 /tmp/cache/eaccelerator

cd ../

tar zxf 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 ../

tar zxf igbinary-1.1.1.tgz

cd igbinary-1.1.1

/usr/local/php/bin/phpize

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

make && make install

cd ..

unzip master

cd phpredis-master

/usr/local/php/bin/phpize

./configure --enable-redis --enable-redis-igbinary --with-php-config=/usr/local/php/bin/php-config

make && make install

cd ..

tar zxvf ImageMagick-6.8.3-10.tar.gz

cd ImageMagick-6.8.3-10/

./configure

make

make install

cd ../

tar zxvf imagick-3.0.1.tgz

cd imagick-3.0.1/

/usr/local/php/bin/phpize

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

ln -s /usr/local/include/ImageMagick-6 /usr/local/include/ImageMagick

export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig

make

make install

cd ../

到此PHP环境配置完毕,接下来安装大名鼎鼎的Nginx。它的好咱就不说了,大家都知道哈。0b1331709591d260c1c78e86d0c51c18.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/299148.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ASP 缩略图 (纠错版)

网上很多缩略的代码&#xff0c;不过很多都是错误的。 这个是纠正版&#xff0c;本人已修改。 Code<%Function PicReSize(picURL)FileName1Mid(picURL,13,22)Set Jpeg Server.CreateObject("Persits.Jpeg") 获取源图片路径Path Server.MapPath(picURL) 打开源图…

Blazor Server 应用程序中进行 HTTP 请求

翻译自 Waqas Anwar 2021年5月4日的文章 《Making HTTP Requests in Blazor Server Apps》 [1]Blazor Server 应用使用标准的 ASP.NET Core 应用程序&#xff0c;在服务端执行 .NET 代码。在 Blazor Server 应用程序中&#xff0c;我们可以像在 ASP.NET Core Web 应用程序中那样…

遍历属性动态展示列

为什么80%的码农都做不了架构师&#xff1f;>>> 前端根据后台返回json对象(Map)进行动态列展示。 javascript属性遍历和访问&#xff1a; //var obj {name:"h2do",age:0,sex:"男"}; function User(){this.name "h2do";this.age 0…

厉害了!这几位小学生竟然在艺术界掀起一阵风暴,简直是灵魂画手无疑.........

全世界只有3.14 % 的人关注了爆炸吧知识高能预警&#xff01;请查阅全文&#xff01;在孩子们的眼中&#xff0c;世间万物都被赋予了无限的想象力&#xff0c;而绘画是他们独特想法和思维的表达。一支小小的画笔&#xff0c;便能创造一个千奇百怪的世界。为鼓励孩子们拿起画笔&…

花开的声音 - 张靓颖

姓名&#xff1a;张靓颖 / Jane Zhang性别&#xff1a;女 地区&#xff1a;内地 职业&#xff1a;歌手 星座&#xff1a;天秤座 血型&#xff1a;O 身高&#xff1a;162cm张靓颖&#xff0c;中国女歌手&#xff0c;四川成都人。2005年参加湖南卫视…

基于事件驱动架构构建微服务第5部分:容器化(Web Api Core 和 SQL Server Linux)

原文链接&#xff1a;https://logcorner.com/building-microservices-through-event-driven-architecture-part5-dockerization-web-api-core-and-sql-server-linux/在本文中&#xff0c;我将谈谈web api和sql server linux数据库的容器化Web API将发布并上线&#xff0c;它需要…

爆笑!物理书上的照片能不能好好选选啊喂!

全世界只有3.14 % 的人关注了爆炸吧知识在物理书里&#xff0c;有各种物理大佬的照片。他们正襟危坐&#xff0c;他们不苟言笑&#xff0c;他们看起来就很“物理”。但是&#xff0c;知识君想说&#xff0c;谁不是个有血有肉的人啊&#xff1f;&#xff01;选照片的时候给我好好…

计算机网络体系结构概述

1.Internet结构 2.计算机网络的体系结构 1&#xff09;网路协议主要由以下三要素组成&#xff1a; 语法&#xff0c;即数据与控制信息的结构或格式&#xff1b; 语义&#xff0c;即需要发出何种控制信息&#xff0c;完成何种动作以及做出何种响应&#xff1b; 同步&#xff0c;…

.NET 6 全新指标 System.Diagnostics.Metrics 介绍

前言工友们, .NET 6 Preview 7 已经在8月10号发布了, 除了众多的功能更新和性能改进之外, 在 preview 7 版本中, 也新增了全新的指标API, System.Diagnostics.Metrics, 为了让应用能有更好的可观测性, 在之前的发布的.NET 5中, 也把 Activity 增强为 ActivitySource, 主要原因还…

42张动图带你走进神奇的物理世界,超震撼!

全世界只有3.14 % 的人关注了爆炸吧知识世界之大&#xff0c;无奇不有。生活中其实有许多神奇的物理化学现象。下面就一起来看看吧&#xff01;图片加载慢稍加等待即可哦~神 奇 的 物 理 反 应1.锤击被液氮冻上的康乃馨&#xff0c;求康乃馨的心理阴影面积。2.比重比空气还大的…

Linux优化之IO子系统监控与调优

Linux优化之IO子系统作为服务器主机来讲&#xff0c;最大的两个IO类型 &#xff1a;1.磁盘IO 2.网络IO这是我们调整最多的两个部分所在磁盘IO是如何实现的在内存调优中&#xff0c;一直在讲到为了加速性能&#xff0c;linux内核一般情况下都会尝试将磁盘上的慢速设备上的文件缓…

用3年时间破解学界200多年难题,年仅21岁的天才竟因谈了一场恋爱挂掉了.........

全世界只有3.14 % 的人关注了爆炸吧知识俗话说&#xff0c;英雄难过美人关&#xff0c;即便是智商超群的数学天才也毫不例外。破得了百年的世界难题&#xff0c;却解不开一个小小的爱情谜团......没错&#xff0c;这位为情所困的数学天才&#xff0c;便是今天的主人公——伽罗瓦…

投影变换与视口变换

一些说明&#xff1a; 0. 投影变换&#xff1a;描述如何指定视景体(viewing volume)的形状和方向。视口变换&#xff1a;解释如何控制三维模型坐标到屏幕坐标的变换。 1. 无论是透视投影还是平行投影&#xff08;正交投影&#xff09;&#xff0c;只有在视景体中的物体才可见。…

java 按钮设置图片_Java中如何设置带图片按钮的大小

在java部分需要用到图形界面编程的项目中&#xff0c;经常会使用图片设置对按钮进行美化&#xff0c;但是使用时会出现一个很麻烦的问题&#xff0c; 按照方法&#xff1a;JButton jb1 new JButton();jb1.setBounds(0, 0, 25, 20);ImageIcon ii new ImageIcon("images/x…

JAVA 异常库

为什么80%的码农都做不了架构师&#xff1f;>>> 1.java.lang.NumberFormatException: multiple points已解决 多线程方法中使用了共享变量SimpleDateFormat&#xff0c;报如下错误&#xff1a; java.lang.NumberFormatException: multiple points at sun.misc.Floa…

WPF ComboBox 使用 ResourceBinding 动态绑定资源键并支持语言切换

WPF ComboBox 使用 ResourceBinding 动态绑定资源键并支持语言切换独立观察员 2021 年 8 月 23 日我们平常在 WPF 中进行资源绑定操作&#xff0c;一般就是用 StaticResource 或者 DynamicResource 后面跟上资源的 key 这种形式&#xff0c;能满足大部分需求。但是有的时候&am…

你一直憋着的那个屁,放出来时真的有人知道吗?我先告诉你憋着不放的屁会到哪去……...

全世界只有3.14 % 的人关注了爆炸吧知识制作团队制作人 超模君编剧 恐恐恐插画 杨羊羊友情出演 超模君 想增加更多的奇怪知识&#xff1f;带你入学↓↓↓关注“爆炸吧知识”日增怪知识&#xff01;

Android中View绘制流程

2019独角兽企业重金招聘Python工程师标准>>> 整个View树的绘图流程是在ViewRoot.java类的performTraversals()函数展开的&#xff0c;该函数做的执行过程可简单概况为 根据之前设置的状态&#xff0c;判断是否需要重新计算视图大小(measure)、是否重新需要安置视图的…

从零开始学习jQuery (四) 使用jQuery操作元素的属性与样式

本系列文章导航 从零开始学习jQuery (一) 开天辟地入门篇 从零开始学习jQuery (二) 万能的选择器 从零开始学习jQuery (三) 管理jQuery包装集 从零开始学习jQuery (四) 使用jQuery操作元素的属性与样式 从零开始学习jQuery (五) 事件与事件对象 从零开始学习jQuery (六) jQuery…

java克鲁斯卡尔算法_Java语言基于无向有权图实现克鲁斯卡尔算法代码示例

所谓有权图&#xff0c;就是图中的每一条边上都会有相应的一个或一组值。通常情况下&#xff0c;这个值只是一个数字如&#xff1a;在交通运输网中&#xff0c;边上的权值可能表示的是路程&#xff0c;也可能表示的是运输费用(显然二者都是数字)。不过&#xff0c;边上的权值也…