阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

CentOS 7.0下编译安装LNMP

435次阅读
没有评论

共计 11004 个字符,预计需要花费 28 分钟才能阅读完成。

LNMP(Linux-Nginx-MySQL-PHP),本文在 CentOS 7.0 上编译 LNMP 尝尝鲜,全文基本上都是采用手动编译部署,依赖 yum 帮我安装了 GCC 和 automake。写这个东西耗时有点久了。太花时间啦。

————————————– 分割线 ————————————–

Ubuntu 14.04 LTS 安装 LNMP Nginx\PHP5 (PHP-FPM)\MySQL http://www.linuxidc.com/Linux/2014-05/102351.htm

Ubuntu 13.04 安装 LAMP\Vsftpd\Webmin\phpMyAdmin 服务及设置 http://www.linuxidc.com/Linux/2013-06/86250.htm

CentOS 6.4 下的 LNMP 生产环境搭建及安装脚本 http://www.linuxidc.com/Linux/2013-11/92428.htm

生产环境实用之 LNMP 架构的编译安装 +SSL 加密实现 http://www.linuxidc.com/Linux/2013-05/85099.htm

LNMP 全功能编译安装 for CentOS 6.3 笔记 http://www.linuxidc.com/Linux/2013-05/83788.htm

CentOS 6.3 安装 LNMP (PHP 5.4,MyySQL5.6) http://www.linuxidc.com/Linux/2013-04/82069.htm

在部署 LNMP 的时候遇到 Nginx 启动失败的 2 个问题 http://www.linuxidc.com/Linux/2013-03/81120.htm

Ubuntu 安装 Nginx php5-fpm MySQL(LNMP 环境搭建) http://www.linuxidc.com/Linux/2012-10/72458.htm

————————————– 分割线 ————————————–

主要软件版本 :
nginx-1.6.0
php-5.3.5
mysql-5.5.6
  yum 源配置 (其实没什么改动)
[root@iPython ~]# cat /etc/yum.repos.d/1.repo
[1]
name=1
baseurl=file:///media
enabled=1
gpgcheck=0

[root@ipython ~]# mount /dev/cdrom /media && yum clean all
mount: /dev/sr0 is write-protected, mounting read-only
Loaded plugins: fastestmirror
Cleaning repos: 1
Cleaning up everything
  编译工具安装
[root@ipython ~]# yum install gcc-c++ automake autoconf bzip2
  zlib 库(提供数据压缩用的函式库):
[root@ipython lnmp]# tar zxf zlib-1.2.8.tar.gz
[root@ipython lnmp]# cd zlib-1.2.8
[root@ipython zlib-1.2.8]# ./configure –prefix=/software/sharelib
[root@ipython zlib-1.2.8]# make && make install
  pcre 库(rewrite 的支持)
[root@ipython lnmp]# tar zxf pcre-8.35.tar.gz
[root@ipython lnmp]# cd pcre-8.35
[root@ipython pcre-8.35]# ./configure –prefix=/software/pcre –enable-utf8 –enable-unicode-properties
[root@ipython pcre-8.35]# make && make install
  OpenSSL 库 (https 的支持)
[root@ipython lnmp]# tar zxf openssl-1.0.1h.tar.gz
[root@ipython lnmp]# cd openssl-1.0.1h
[root@ipython openssl-1.0.1h]# ./config –prefix=/software/openssl
[root@ipython openssl-1.0.1h]# make && make install
  TCMalloc 工具(google 内存管理套件)
[root@ipython lnmp]# tar zxf libunwind-1.1.tar.gz
[root@ipython lnmp]# cd libunwind-1.1
[root@ipython libunwind-1.1]# CFLAGS=-fPIC ./configure –prefix=/software/google-libunwind
[root@ipython libunwind-1.1]# make CFLAGS=-fPIC && make CFLAGS=-fPIC install

[root@ipython lnmp]# tar zxf gperftools-2.2.tar.gz
[root@ipython lnmp]# cd gperftools-2.2
[root@ipython gperftools-2.2]# LDFLAGS=”-L/software/google-libunwind/lib” CPPFLAGS=”-I/software/google-libunwind/include” ./configure –prefix=/software/google-perftools
[root@ipython gperftools-2.2]# make && make install

### 路径加到动态链接库 ###
[root@ipython gperftools-2.2]# echo “/software/google-libunwind/lib/” >> /etc/ld.so.conf
[root@ipython gperftools-2.2]# echo “/software/google-perftools/lib/” >> /etc/ld.so.conf
[root@ipython gperftools-2.2]# echo “/software/sharelib/lib/” >> /etc/ld.so.conf && ldconfig
  Nginx(不解释)
[root@ipython lnmp]# groupadd -g 1500 nginx
[root@ipython lnmp]# useradd -M -u 1500 -g nginx -s /sbin/nologin nginx
[root@ipython lnmp]# mkdir /var/tmp/nginx
[root@ipython lnmp]# chown nginx:nginx /var/tmp/nginx/
[root@ipython lnmp]# tar zxf nginx-1.6.0.tar.gz
[root@ipython lnmp]# cd nginx-1.6.0
[root@ipython nginx-1.6.0]# sed -i ‘s/CFLAGS=”$CFLAGS -g”/#CFLAGS=”$CFLAGS -g”/’ auto/cc/gcc
[root@ipython nginx-1.6.0]# sed -i “s#/usr/local#/software/google-perftools#” auto/lib/google-perftools/conf
## 配置参数有点长 ##
[root@ipython nginx-1.6.0]# ./configure –prefix=/software/nginx –user=nginx –group=nginx –with-http_stub_status_module –with-http_ssl_module –with-http_realip_module –with-http_gzip_static_module –with-debug –http-client-body-temp-path=/var/tmp/nginx/client –http-proxy-temp-path=/var/tmp/nginx/proxy –http-fastcgi-temp-path=/var/tmp/nginx/fastcgi –http-uwsgi-temp-path=/var/tmp/nginx/uwsgi –http-scgi-temp-path=/var/tmp/nginx/scgi –with-pcre=/root/lnmp/pcre-8.35 –with-openssl=/root/lnmp/openssl-1.0.1h –with-zlib=/root/lnmp/zlib-1.2.8 –with-google_perftools_module
[root@ipython nginx-1.6.0]# make && make install

[root@ipython nginx-1.6.0]# mkdir /tmp/tcmalloc
[root@ipython nginx-1.6.0]# chmod 0777 /tmp/tcmalloc/
### 这文件在附件里 ###
[root@ipython nginx-1.6.0]# cp ../nginx.conf /software/nginx/conf/
[root@ipython nginx-1.6.0]# cp ../fcgi.conf /software/nginx/conf/
[root@ipython nginx-1.6.0]# chmod 755 /etc/init.d/nginx
[root@ipython nginx-1.6.0]# mkdir /data/{logs,www.ipython.me}
[root@ipython nginx-1.6.0]# /software/nginx/sbin/nginx
[root@ipython nginx-1.6.0]# iptables -F
[root@ipython nginx-1.6.0]# iptables -A INPUT -p tcp –dport 22 -j ACCEPT
[root@ipython nginx-1.6.0]# iptables -A INPUT -p tcp –dport 80 -j ACCEPT
[root@ipython nginx-1.6.0]# ps aux|grep nginx
root    61291  0.0  0.0  31120  896 ?        Ss  15:36  0:00 nginx: master process /software/nginx/sbin/nginx -c /software/nginx/conf/nginx.conf
nginx    61293  0.0  0.1  31560  1612 ?        S    15:36  0:00 nginx: worker process
  ncurses 库(字符终端处理库)
[root@ipython lnmp]# tar jxf ncurses-5.9.tar.bz2
[root@ipython lnmp]# cd ncurses-5.9
[root@ipython ncurses-5.9]# ./configure –prefix=/software/ncurses –with-shared –without-debug
[root@ipython ncurses-5.9]# make && make install
  Mysql(数据库)
[root@ipython lnmp]# /usr/sbin/groupadd mysql
[root@ipython lnmp]# /usr/sbin/useradd -s /sbin/nologin -g mysql mysql
[root@ipython lnmp]# tar zxf mysql-5.5.6-rc.tar.gz
[root@ipython lnmp]# cd mysql-5.5.6-rc
[root@ipython mysql-5.5.6-rc]# ./configure –prefix=/software/mysql/ –enable-assembler –with-extra-charsets=complex –enable-thread-safe-client –with-big-tables –with-readline –with-ssl –with-embedded-server –enable-local-infile –with-plugins=partition,innobase,myisammrg –with-named-curses-libs=/software/ncurses/lib/libncurses.so.5
[root@ipython mysql-5.5.6-rc]# make && make install
[root@ipython mysql-5.5.6-rc]# mkdir /data/mysql/{binlog,relaylog} -p
[root@ipython mysql-5.5.6-rc]# chown -R mysql:mysql /data/mysql
[root@ipython mysql-5.5.6-rc]# /software/mysql/bin/mysql_install_db –basedir=/software/mysql/ –datadir=/data/mysql/ –user=mysql
### 这文件在附件里 ###
[root@ipython mysql-5.5.6-rc]# \cp ../my.cnf /etc/my.cnf
[root@ipython mysql-5.5.6-rc]# \cp ../mysqld /etc/init.d/mysqld
[root@ipython mysql-5.5.6-rc]# chmod 755 /etc/init.d/mysqld
[root@ipython mysql-5.5.6-rc]# systemctl enable mysqld
[root@ipython mysql-5.5.6-rc]# systemctl start mysqld

[root@ipython mysql-5.5.6-rc]# ps aux | grep mysqld
root    55475  0.1  0.1 115348  1696 ?        S    16:07  0:00 /bin/sh /software/mysql/bin/mysqld_safe –datadir=/data/mysql –pid-file=/data/mysql/mysql.pid
mysql    56342  2.7 11.9 1918248 120680 ?      Sl  16:07  0:01 /software/mysql/libexec/mysqld –basedir=/software/mysql –datadir=/data/mysql –plugin-dir=/software/mysql/lib/mysql/plugin –user=mysql –log-error=/data/mysql/mysql_error.log –open-files-limit=10240 –pid-file=/data/mysql/mysql.pid –socket=/tmp/mysql.sock –port=3306
  libiconv 库(字符编码转换)
[root@ipython lnmp]# tar zxf libiconv-1.14.tar.gz
### 打补丁吧,避免手动修改隐患逻辑错误 ###
[root@ipython lnmp]# gzip -d libiconv-glibc-2.16.patch.gz 
[root@ipython lnmp]# cd libiconv-1.14/srclib
[root@ipython srclib]# patch -p1 < ../../libiconv-glibc-2.16.patch
patching file stdio.in.h
[root@ipython libiconv-1.14]# cd ..
[root@ipython libiconv-1.14]# ./configure –prefix=/software/sharelib/
[root@ipython libiconv-1.14]# make && make install
  libxml 库(XML 库)
[root@ipython lnmp]# tar jxf libxml2-2.8.0.tar.bz2
[root@ipython lnmp]# cd libxml2-2.8.0
[root@ipython libxml2-2.8.0]# ./configure –prefix=/software/sharelib
[root@ipython libxml2-2.8.0]# make && make install
  libpng 库(图片库)
[root@ipython lnmp]# tar jxf libpng-1.6.8.tar.bz2
[root@ipython lnmp]# cd libpng-1.6.8
[root@ipython libpng-1.6.8]# LDFLAGS=”-L/software/sharelib/lib/” CPPFLAGS=”-I/software/sharelib/include” ./configure –prefix=/software/sharelib
[root@ipython libpng-1.6.8]# make && make install
  jpeg 库(图片库)
[root@ipython lnmp]# tar jxf jpegsrc.v9a.tar.bz2
[root@ipython lnmp]# cd jpeg-9a/
[root@ipython jpeg-9a]# ./configure –prefix=/software/sharelib/
[root@ipython jpeg-9a]# make && make install
  freetype(字库)
[root@ipython lnmp]# tar jxf freetype-2.5.2.tar.bz2
[root@ipython lnmp]# cd freetype-2.5.2
[root@ipython freetype-2.5.2]# LIBPNG_CFLAGS=”-I/software/sharelib/include/” LIBPNG_LDFLAGS=”-L/software/sharelib/lib/” ./configure –prefix=/software/sharelib
[root@ipython freetype-2.5.2]# make && make install
[root@ipython freetype-2.5.2]# ln -s /software/sharelib/include/freetype2 /software/sharelib/include/freetype2/freetype
  libmcrypt 库 (加密算法)
[root@ipython lnmp]# tar jxf libmcrypt-2.5.8.tar.bz2
[root@ipython lnmp]# cd libmcrypt-2.5.8
[root@ipython libmcrypt-2.5.8]# ./configure –prefix=/software/sharelib
[root@ipython libmcrypt-2.5.8]# make && make install
  mhash 库(加密)
[root@ipython lnmp]# tar jxf mhash-0.9.9.9.tar.bz2
[root@ipython lnmp]# cd mhash-0.9.9.9
[root@ipython mhash-0.9.9.9]# ./configure –prefix=/software/sharelib/
[root@ipython mhash-0.9.9.9]# make && make install
  curl 库(URL 传��)
[root@ipython lnmp]# tar jxf curl-7.36.0.tar.bz2
[root@ipython lnmp]# cd curl-7.36.0
[root@ipython curl-7.36.0]# ./configure –prefix=/software/curl
[root@ipython curl-7.36.0]# make && make install
  gd 库(绘图)
[root@ipython lnmp]# tar zxf gd-2.0.35.tar.gz
[root@ipython lnmp]# cd gd-2.0.35
[root@ipython gd-2.0.35]# LDFLAGS=”-L/software/sharelib/lib” CPPFLAGS=”-I/software/sharelib/include” ./configure –prefix=/software/sharelib –enable-shared –with-png=/software/sharelib –with-freetype=/software/sharelib –with-libiconv-prefix=/software/sharelib –with-jpeg=/software/sharelib
[root@ipython gd-2.0.35]# make && make install
  libtool(库编译支持)
[root@ipython lnmp]# tar zxf libtool-2.4.2.tar.gz
[root@ipython lnmp]# cd libtool-2.4.2
[root@ipython libtool-2.4.2]# ./configure –prefix=/software/sharelib/ –enable-ltdl-install
[root@ipython libtool-2.4.2]# make && make install
  将 mysql 的库文件加入动态共享
[root@ipython lnmp]# echo “/software/mysql/lib/mysql/” >> /etc/ld.so.conf && ldconfig
  PHP(一种语言吧)
[root@ipython lnmp]# tar zxf php-5.3.5.tar.gz
[root@ipython lnmp]# cd php-5.3.5
[root@ipython php-5.3.5]# sed -i s”#mysql/psi/psi.h#/software/mysql/include/mysql/psi/psi.h#” /software/mysql/include/mysql/my_sys.h
[root@ipython php-5.3.5]# sed -i s”#mysql/plugin.h#/software/mysql/include/mysql/plugin.h#” /software/mysql/include/mysql/m_string.h
[root@ipython php-5.3.5]# sed -i s”#mysql/services.h#/software/mysql/include/mysql/services.h#” /software/mysql/include/mysql/plugin.h
[root@ipython php-5.3.5]# sed -i s”#mysql/service_my_snprintf.h#/software/mysql/include/mysql/service_my_snprintf.h#” /software/mysql/include/mysql/services.h
[root@ipython php-5.3.5]# sed -i s”#mysql/service_thd_alloc.h#/software/mysql/include/mysql/service_thd_alloc.h#” /software/mysql/include/mysql/services.h
[root@ipython php-5.3.5]# ./configure –prefix=/software/php –with-config-file-path=/software/php/etc –with-mysql=/software/mysql –with-mysqli=/software/mysql/bin/mysql_config –with-iconv-dir=/software/sharelib –disable-ipv6 –with-freetype-dir=/software/sharelib/ –with-jpeg-dir=/software/sharelib/ –with-png-dir=/software/sharelib/ –with-zlib=/software/sharelib/ –with-libxml-dir=/software/sharelib/ –disable-rpath –enable-bcmath –enable-safe-mode –enable-shmop –enable-sysvsem –with-curl=/software/curl/ –enable-fpm –enable-mbstring  –with-mcrypt=/software/sharelib/ –with-gd=/software/sharelib/ –enable-gd-native-ttf –with-openssl=/software/openssl –with-mhash –enable-pcntl –enable-sockets –with-xmlrpc –enable-zip –enable-soap –enable-inline-optimization –with-curlwrappers –enable-mbregex –with-gettext
[root@ipython php-5.3.5]# make install

## 创建 PHP-FPM 配置文件,参数什么的自己根据配置调整 ##
[root@ipython php-5.3.5]# cat >> /software/php/etc/php-fpm.conf <
好了 … 看图

CentOS 7.0 下编译安装 LNMP

更多 CentOS 相关信息见 CentOS 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=14

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-20发表,共计11004字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中

星哥玩云

星哥玩云
星哥玩云
分享互联网知识
用户数
4
文章数
19351
评论数
4
阅读量
7977248
文章搜索
热门文章
星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛 NAS-6:抖音视频同步工具,视频下载自动下载保存 前言 各位玩 NAS 的朋友好,我是星哥!...
星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛 NAS-3:安装飞牛 NAS 后的很有必要的操作 前言 如果你已经有了飞牛 NAS 系统,之前...
我把用了20年的360安全卫士卸载了

我把用了20年的360安全卫士卸载了

我把用了 20 年的 360 安全卫士卸载了 是的,正如标题你看到的。 原因 偷摸安装自家的软件 莫名其妙安装...
再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见 zabbix!轻量级自建服务器监控神器在 Linux 的完整部署指南 在日常运维中,服务器监控是绕不开的...
飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛 NAS 中安装 Navidrome 音乐文件中文标签乱码问题解决、安装 FntermX 终端 问题背景 ...
阿里云CDN
阿里云CDN-提高用户访问的响应速度和成功率
随机文章
支付宝、淘宝、闲鱼又双叕崩了,Cloudflare也瘫了连监控都挂,根因藏在哪?

支付宝、淘宝、闲鱼又双叕崩了,Cloudflare也瘫了连监控都挂,根因藏在哪?

支付宝、淘宝、闲鱼又双叕崩了,Cloudflare 也瘫了连监控都挂,根因藏在哪? 最近两天的互联网堪称“故障...
把小米云笔记搬回家:飞牛 NAS 一键部署,小米云笔记自动同步到本地

把小米云笔记搬回家:飞牛 NAS 一键部署,小米云笔记自动同步到本地

把小米云笔记搬回家:飞牛 NAS 一键部署,小米云笔记自动同步到本地 大家好,我是星哥,今天教大家在飞牛 NA...
开发者福利:免费 .frii.site 子域名,一分钟申请即用

开发者福利:免费 .frii.site 子域名,一分钟申请即用

  开发者福利:免费 .frii.site 子域名,一分钟申请即用 前言 在学习 Web 开发、部署...
恶意团伙利用 PHP-FPM 未授权访问漏洞发起大规模攻击

恶意团伙利用 PHP-FPM 未授权访问漏洞发起大规模攻击

恶意团伙利用 PHP-FPM 未授权访问漏洞发起大规模攻击 PHP-FPM(FastCGl Process M...
Prometheus:监控系统的部署与指标收集

Prometheus:监控系统的部署与指标收集

Prometheus:监控系统的部署与指标收集 在云原生体系中,Prometheus 已成为最主流的监控与报警...

免费图片视频管理工具让灵感库告别混乱

一言一句话
-「
手气不错
零成本上线!用 Hugging Face免费服务器+Docker 快速部署HertzBeat 监控平台

零成本上线!用 Hugging Face免费服务器+Docker 快速部署HertzBeat 监控平台

零成本上线!用 Hugging Face 免费服务器 +Docker 快速部署 HertzBeat 监控平台 ...
星哥带你玩飞牛 NAS-10:备份微信聊天记录、数据到你的NAS中!

星哥带你玩飞牛 NAS-10:备份微信聊天记录、数据到你的NAS中!

星哥带你玩飞牛 NAS-10:备份微信聊天记录、数据到你的 NAS 中! 大家对「数据安全感」的需求越来越高 ...
安装并使用谷歌AI编程工具Antigravity(亲测有效)

安装并使用谷歌AI编程工具Antigravity(亲测有效)

  安装并使用谷歌 AI 编程工具 Antigravity(亲测有效) 引言 Antigravity...
颠覆 AI 开发效率!开源工具一站式管控 30+大模型ApiKey,秘钥付费+负载均衡全搞定

颠覆 AI 开发效率!开源工具一站式管控 30+大模型ApiKey,秘钥付费+负载均衡全搞定

  颠覆 AI 开发效率!开源工具一站式管控 30+ 大模型 ApiKey,秘钥付费 + 负载均衡全...
星哥带你玩飞牛NAS-12:开源笔记的进化之路,效率玩家的新选择

星哥带你玩飞牛NAS-12:开源笔记的进化之路,效率玩家的新选择

星哥带你玩飞牛 NAS-12:开源笔记的进化之路,效率玩家的新选择 前言 如何高效管理知识与笔记,已经成为技术...