CentOS7 编译安装LNMP
LNMP(Linux-Nginx-Mysql-PHP),本文在CentOS7.0上编译LNMP尝尝鲜,全文基本上都是采用手动编译部署...依赖yum帮我安装了GCC和automake..写这个东西耗时有点久了...尼玛 太花时间啦,Linux运维交流群:344177552 主要软件版本:nginx-1.6.0php-5.3.5
mysql-5.5.6
yum源配置(其实没什么改动)# cat /etc/yum.repos.d/1.repo
name=1
baseurl=file:///media
enabled=1
gpgcheck=0
# 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
编译工具安装# yum install gcc-c++ automake autoconf bzip2
zlib库(提供数据压缩用的函式库):# tar zxf zlib-1.2.8.tar.gz
# cd zlib-1.2.8
# ./configure --prefix=/software/sharelib
# make && make install
pcre库(rewrite的支持)# tar zxf pcre-8.35.tar.gz
# cd pcre-8.35
# ./configure --prefix=/software/pcre --enable-utf8 --enable-unicode-properties
# make && make install
OpenSSL库(https的支持)# tar zxf openssl-1.0.1h.tar.gz
# cd openssl-1.0.1h
# ./config --prefix=/software/openssl
# make && make install
TCMalloc工具(google内存管理套件)# tar zxf libunwind-1.1.tar.gz
# cd libunwind-1.1
# CFLAGS=-fPIC ./configure --prefix=/software/google-libunwind
# make CFLAGS=-fPIC && make CFLAGS=-fPIC install
# tar zxf gperftools-2.2.tar.gz
# cd gperftools-2.2
# LDFLAGS="-L/software/google-libunwind/lib" CPPFLAGS="-I/software/google-libunwind/include" ./configure --prefix=/software/google-perftools
# make && make install
路径加到动态链接库
# echo "/software/google-libunwind/lib/" >> /etc/ld.so.conf
# echo "/software/google-perftools/lib/" >> /etc/ld.so.conf
# echo "/software/sharelib/lib/" >> /etc/ld.so.conf && ldconfig
Nginx(不解释)# groupadd -g 1500 nginx
# useradd -M -u 1500 -g nginx -s /sbin/nologin nginx
# mkdir /var/tmp/nginx
# chown nginx:nginx /var/tmp/nginx/
# tar zxf nginx-1.6.0.tar.gz
# cd nginx-1.6.0
# sed -i 's/CFLAGS="$CFLAGS -g"/#CFLAGS="$CFLAGS -g"/' auto/cc/gcc
# sed -i "s#/usr/local#/software/google-perftools#" auto/lib/google-perftools/conf配置参数有点长
# ./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
# make && make install
# mkdir /tmp/tcmalloc
# chmod 0777 /tmp/tcmalloc/这文件在附件里
# cp ../nginx.conf /software/nginx/conf/
# cp ../fcgi.conf /software/nginx/conf/
# chmod 755 /etc/init.d/nginx
# mkdir /data/{logs,www.ipython.me}
# /software/nginx/sbin/nginx
# iptables -F
# iptables -A INPUT -p tcp --dport 22 -j ACCEPT
# iptables -A INPUT -p tcp --dport 80 -j ACCEPT
# ps aux|grep nginx
root 612910.00.031120 896 ? Ss 15:36 0:00 nginx: master process /software/nginx/sbin/nginx -c /software/nginx/conf/nginx.conf
nginx 612930.00.1315601612 ? S 15:36 0:00 nginx: worker process
ncurses库(字符终端处理库)# tar jxf ncurses-5.9.tar.bz2
# cd ncurses-5.9
# ./configure --prefix=/software/ncurses --with-shared --without-debug
# make && make install
Mysql(数据库)# /usr/sbin/groupadd mysql
# /usr/sbin/useradd -s /sbin/nologin -g mysql mysql
# tar zxf mysql-5.5.6-rc.tar.gz
# cd 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
# make && make install
# mkdir /data/mysql/{binlog,relaylog} -p
# chown -R mysql:mysql /data/mysql
# /software/mysql/bin/mysql_install_db --basedir=/software/mysql/ --datadir=/data/mysql/ --user=mysql这文件在附件里
# \cp ../my.cnf /etc/my.cnf
# \cp ../mysqld /etc/init.d/mysqld
# chmod 755 /etc/init.d/mysqld
# systemctl enable mysqld
# systemctl start mysqld
# ps aux | grep mysqld
root 554750.10.1 1153481696 ? S 16:07 0:00 /bin/sh /software/mysql/bin/mysqld_safe --datadir=/data/mysql --pid-file=/data/mysql/mysql.pid
mysql 563422.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库(字符编码转换)# tar zxf libiconv-1.14.tar.gz打补丁吧,避免手动修改隐患逻辑错误
# gzip -d libiconv-glibc-2.16.patch.gz
# cd libiconv-1.14/srclib
# patch -p1 < ../../libiconv-glibc-2.16.patch
patching file stdio.in.h
# cd ..
# ./configure --prefix=/software/sharelib/
# make && make install libxml库(XML库)# tar jxf libxml2-2.8.0.tar.bz2
# cd libxml2-2.8.0
# ./configure --prefix=/software/sharelib
# make && make install
libpng库(图片库)# tar jxf libpng-1.6.8.tar.bz2
# cd libpng-1.6.8
# LDFLAGS="-L/software/sharelib/lib/" CPPFLAGS="-I/software/sharelib/include" ./configure --prefix=/software/sharelib
# make && make install
jpeg库(图片库)# tar jxf jpegsrc.v9a.tar.bz2
# cd jpeg-9a/
# ./configure --prefix=/software/sharelib/
# make && make install
freetype(字库)# tar jxf freetype-2.5.2.tar.bz2
# cd freetype-2.5.2
# LIBPNG_CFLAGS="-I/software/sharelib/include/" LIBPNG_LDFLAGS="-L/software/sharelib/lib/" ./configure --prefix=/software/sharelib
# make && make install
# ln -s /software/sharelib/include/freetype2 /software/sharelib/include/freetype2/freetype
libmcrypt库(加密算法)# tar jxf libmcrypt-2.5.8.tar.bz2
# cd libmcrypt-2.5.8
# ./configure --prefix=/software/sharelib
# make && make install
mhash库(加密)# tar jxf mhash-0.9.9.9.tar.bz2
# cd mhash-0.9.9.9
# ./configure --prefix=/software/sharelib/
# make && make install
curl库(URL传输)# tar jxf curl-7.36.0.tar.bz2
# cd curl-7.36.0
# ./configure --prefix=/software/curl
# make && make install
gd库(绘图)# tar zxf gd-2.0.35.tar.gz
# cd 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
# make && make install
libtool(库编译支持)# tar zxf libtool-2.4.2.tar.gz
# cd libtool-2.4.2
# ./configure --prefix=/software/sharelib/ --enable-ltdl-install
# make && make install
将mysql的库文件加入动态共享# echo "/software/mysql/lib/mysql/" >> /etc/ld.so.conf && ldconfig
PHP(一种语言吧)# tar zxf php-5.3.5.tar.gz
# cd 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
# sed -i s"#mysql/plugin.h#/software/mysql/include/mysql/plugin.h#" /software/mysql/include/mysql/m_string.h
# sed -i s"#mysql/services.h#/software/mysql/include/mysql/services.h#" /software/mysql/include/mysql/plugin.h
# sed -i s"#mysql/service_my_snprintf.h#/software/mysql/include/mysql/service_my_snprintf.h#" /software/mysql/include/mysql/services.h
# sed -i s"#mysql/service_thd_alloc.h#/software/mysql/include/mysql/service_thd_alloc.h#" /software/mysql/include/mysql/services.h
# ./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
# make install
创建PHP-FPM配置文件,参数什么的自己根据配置调整
# cat >> /software/php/etc/php-fpm.conf <
好了...看图
页:
[1]