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

准备工作
最小化安装CentOS6.5
我们安装完成CentOS系统,默认都是系统自带的yum源,国内用户用yum安装软件的时候,是比较慢的,为了提高效率,一般我们会配置国内的yum源。

wget http://mirrors.163.com/.help/CentOS6-Base-163.repo
mv  CentOS6-Base-163.repo  /etc/yum.repos.d/
yum makecache

建立一个软件包存放的目录

cd ~
mkdir src

清理已经安装包

rpm -e httpd
rpm -e mysql
rpm -e php
yum -y remove httpd
yum -y remove mysql
yum -y remove php#搜索apache包
rpm -qa http*#强制卸载apache包
rpm -e --nodeps 查询出来的文件名#检查是否卸载干净
rpm -qa|grep http*

selinux可能会致使编译安装失败,我们先禁用它。永久禁用,需要重启生效

sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config

安装必备工具

yum -y install make gcc gcc-c++ gcc-g77 flex bison file libtool libtool-libs autoconf kernel-devel libjpeg libjpeg-devel libpng libpng-devel libpng10 libpng10-devel gd gd-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glib2 glib2-devel bzip2 bzip2-devel libevent libevent-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel libidn libidn-devel openssl openssl-devel gettext gettext-devel ncurses-devel gmp-devel pspell-devel unzip libcap lsof

安装mysql5.6.33
按照标准需要给mysql创建所属用户和用户组

groupadd mysql                             创建用户组
创建一个用户,不允许登陆和不创主目录
useradd -s /sbin/nologin -g mysql -M mysql
tail -1 /etc/passwd                        检查创建用户

centos最小化安装后,会有mysql的库因此先卸载!

rpm -qa|grep mysql                                检查安装与否
rpm -e mysql-libs-5.1.73-3.el6_5.x86_64 --nodeps   强制卸载 

MySQL从5.5版本开始,通过./configure进行编译配置方式已经被取消,取而代之的是cmake工具。 因此,我们首先要在系统中源码编译安装cmake工具。

wget --no-check-certificate http://www.cmake.org/files/v2.8/cmake-2.8.12.2.tar.gz
tar zxvf cmake-2.8.12.2.tar.gz
cd cmake-2.8.12.2
./configure
make && make install

使用cmake来编译安装mysql5.6.33

wget http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.33.tar.gz
tar zxvf mysql-5.6.33.tar.gz
cd mysql-5.6.17
cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DSYSCONFDIR=/etc \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_MEMORY_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 \
-DMYSQL_UNIX_ADDR=/var/lib/mysql/mysql.sock \
-DMYSQL_TCP_PORT=3306 \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DEXTRA_CHARSETS=all \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DMYSQL_USER=mysql \
-DWITH_DEBUG=0 \
-DWITH_SSL=system
make && make install

修改/usr/local/mysql权限

chmod +w /usr/local/mysql
chown -R mysql:mysql /usr/local/mysql

关于my.cnf配置文件:

在启动MySQL服务时,会按照一定次序搜索my.cnf,先在/etc目录下找,找不到则会搜索”$basedir/my.cnf” 就是安装目录下 /usr/local/mysql/my.cnf,这是新版MySQL的配置文件的默认位置! 注意:在CentOS 6.x版操作系统的最小安装完成后,在/etc目录下会存在一个my.cnf,需要将此文件更名为其他的名字。 如:/etc/my.cnf.bak,否则,该文件会干扰源码安装的MySQL的正确配置,造成无法启动, 由于我们已经卸载了最小安装完成后的mysq库所以,就没必要操作了。

进入support-files目录

cd support-files/     如果还有my.cnf请备份
mv /etc/my.cnf     /etc/my.cnf.bak
cp my-default.cnf  /etc/my.cnf  如果愿意也可以复制配置文件到etc下

执行初始化配置脚本,创建系统自带的数据库和表,注意配置文件的路径

/usr/local/mysql/scripts/mysql_install_db --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql

拷贝mysql安装目录下support-files服务脚本到init.d目录

cp support-files/mysql.server /etc/init.d/mysqld    #拷贝脚本
chmod +x /etc/init.d/mysqld              #赋予权限

设置开机启动

chkconfig mysqld on
启动MySQL
service mysqld start
或者
/etc/init.d/mysql start

MySQL5.6.x启动成功后,root默认没有密码,我们需要设置root密码。 设置之前,我们需要先设置PATH,要不,不能直接调用mysql

修改/etc/profile文件
vi /etc/profile
在文件末尾添加
PATH=/usr/local/mysql/bin:$PATH
export PATH

让配置立即生效

source /etc/profile

登陆测试,默认是没有密码,直接回车就可进入

mysql -uroot -p

设置mysql密码

/usr/local/mysql/bin/mysqladmin -uroot -p password '你的密码'

注意如果复制上去不能改变密码请手动输入

登陆进命令行模式

mysql -uroot -p

输入上面设置的密码以后能够成功登陆后就标志着我们的mysql已经安装完成了,是不是感觉特别兴奋呢,至于mysql的详细设置我们在以后的项目在具体介绍
接下来我们安装php
安装依赖关系
libiconv库为需要做转换的应用提供了一个iconv()的函数,以实现一个字符编码到另一个字符编码的转换。 错误提示:configure: error: Please reinstall the iconv library.

wget http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.14.tar.gz
tar zxvf libiconv-1.14.tar.gz
cd libiconv-1.14
./configure --prefix=/usr/local/libiconv
make && make install
cd ..

libmcrypt是加密算法扩展库。 错误提示:configure: error: Cannot find imap library (libc-client.a). Please check your c-client installation.

wget http://iweb.dl.sourceforge.net/project/mcrypt/Libmcrypt/2.5.8/libmcrypt-2.5.8.tar.gz
tar zxvf libmcrypt-2.5.8.tar.gz
cd libmcrypt-2.5.8
./configure
make && make install
cd ..

Mhash是基于离散数学原理的不可逆向的php加密方式扩展库,其在默认情况下不开启。 mhash的可以用于创建校验数值,消息摘要,消息认证码,以及无需原文的关键信息保存 错误提示:configure: error: “You need at least libmhash 0.8.15 to compile this program. http://mhash.sf.net/”

wget http://124.202.164.16/files/104300000800FF47/soft.beauty-soft.net/lib/mhash/mhash-0.9.9.9.tar.gz
tar -xzvf mhash-0.9.9.9.tar.gz
cd mhash-0.9.9.9
./configure
make && make install
cd ..

mcrypt 是 php 里面重要的加密支持扩展库,Mcrypt扩展库可以实现加密解密功能,就是既能将明文加密,也可以密文还原。

wget http://jaist.dl.sourceforge.net/project/mcrypt/MCrypt/2.6.8/mcrypt-2.6.8.tar.gz
tar zxvf mcrypt-2.6.8.tar.gz
cd mcrypt-2.6.8
./configure
make && make install
cd ..

编译mcrypt可能会报错:configure: error: * libmcrypt was not found

vi  /etc/ld.so.conf
最后一行添加
/usr/local/lib/
载入
ldconfig

编译mcrypt可能会报错:/bin/rm: cannot remove `libtoolT’: No such file or directory

修改 configure 文件,把RM=’RM′改为RM=′ RM -f’ 这里的$RM后面一定有一个空格。 如果后面没有空格,直接连接减号,就依然会报错。

正式开始编译php!

wget http://au1.php.net/get/php-5.6.26.tar.gz/from/this/mirror
mv mirror   php-5.6.26.tar.gz
tar zxvf php-5.6.26.tar.gz
cd php-5.6.26
./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --enable-fpm --with-fpm-user=www --with-fpm-group=www --with-mysql=mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-iconv-dir --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr --enable-xml --disable-rpath --enable-magic-quotes --enable-safe-mode --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --with-curl --with-curlwrappers --enable-mbregex --enable-mbstring --with-mcrypt --enable-ftp --with-gd --enable-gd-native-ttf --with-openssl --with-mhash --enable-pcntl --enable-sockets --with-xmlrpc --enable-zip --enable-soap --without-pear --with-gettext --disable-fileinfo --enable-maintainer-zts
make && make install

修改fpm配置php-fpm.conf.default文件名称

mv /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf

复制php.ini配置文件

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

复制php-fpm启动脚本到init.d

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            设置开机启动

按照标准,给php-fpm创建一个指定的用户和组

创建群组
groupadd www
创建一个用户,不允许登陆和不创主目录
useradd -s /sbin/nologin -g www -M www

立即启动php-fpm

service php-fpm start
#或者
/etc/init.d/php-fpm start

回到src/目录
安装nginx
Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,由俄罗斯的程序设计师Igor Sysoev所开发,其特点是占有内存少,并发能力强,第一个公开版本0.1.0发布于2004年10月4日
1、安装prce(重定向支持)和openssl(https支持,如果不需要https可以不安装。)

yum -y install pcre*
yum -y install openssl*

CentOS 6.5 我安装的时候是选择的“基本服务器”,默认这两个包都没安装全,所以这两个都运行安装即可。
接下来开始安装

wget http://219.239.26.4/files/32480000085AA7C7/nginx.org/download/nginx-1.10.1.tar.gz
tar -zxvf nginx-1.10.1.tar.gz
cd nginx-1.10.1
./configure --prefix=/usr/local/nginx-1.10.1 \
--with-http_ssl_module  \
--with-http_stub_status_module --with-pcre
make
make install

开启nginx进程

/usr/local/nginx-1.10.1/sbin/nginx
重启或关闭进程:
/usr/local/nginx-1.10.1/sbin/nginx -s reload
/usr/local/nginx-1.10.1/sbin/nginx -s stop

关闭防火墙,或者添加防火墙规则就可以测试了。

service iptables stop  关闭防火墙
或者添加一条防火墙规则
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
service iptables restart

LNMP安装参考如下文章

Ubuntu 16.04 下源码配置LNMP开发环境 http://www.linuxidc.com/Linux/2016-09/135381.htm

Ubuntu 14.04 搭建 LNMP  http://www.linuxidc.com/Linux/2015-05/116933.htm

Ubuntu 14.04 LTS 安装 LNMP Nginx\PHP5 (PHP-FPM)\MySQL  http://www.linuxidc.com/Linux/2014-05/102351.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

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

本文永久更新链接地址:http://www.linuxidc.com/Linux/2016-10/136047.htm

转载于:https://my.oschina.net/u/1266171/blog/896833

CentOS 6.5下编译安装新版LNMP相关推荐

  1. 在 CentOS 5.4 下编译安装MySQL时

    在 CentOS 5.4 下编译安装MySQL时 在 CentOS 5.4 下编译安装MySQL时出错: /bin/rm: cannot remove `libtoolt': No such file ...

  2. CentOS 6.4下编译安装MySQL 5.6.14

    概述: CentOS 6.4下通过yum安装的MySQL是5.1版的,比较老,所以就想通过源代码安装高版本的5.6.14. 正文: 一:卸载旧版本 使用下面的命令检查是否安装有MySQL Server ...

  3. 在Centos 5.2下编译安装LAMP

    首先使用Virtualbox安装一台CentOS 5.2的虚拟机,网络连接采用 Host-only Adapter,这样主客机之间可以互相访问,但是客机不能够上广域网. 0.系统初步配置 源文件位置  ...

  4. CentOS 7.2下编译安装PHP 7

    CentOS 7.2 编译安装PHP7 注意此配置针对开发环境,如果线上环境,那么phpdbg和dtrace这两个建议不要编译 编译安装参数 # prefix 可根据实际情况自定义 # with-fp ...

  5. RHEL/CentOS 5.5下编译安装Fcitx(小企鹅输入法)

    PS: 因本人家里的台式机比较老,其中的显卡是04年的nvidia mx440,Ubuntu 9.10.10.04与Fedora 12.13都对其支持不好,手动安装显卡驱动后可以用,但很不稳定,X经常 ...

  6. centos 6.5下编译安装、配置高性能服务器Nginx

    1.nginx是什么? Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,由俄罗斯的程序设计师Igor Sysoev所开发,其特点是占有内存少,并发能力 ...

  7. centos/Debian/Ubuntu下编译安装pypy

    PyPy的速度是比Python快的,根据官方说法,速度时CPython的2倍-10倍. 但PyPy也是有缺点的,那就是PyPy是由RPython实现的,RPython是Python的子集. PyPy快 ...

  8. linux下编译httpd,Linux下编译安装Apache httpd 2.4

    Apache是世界使用排名第一的Web服务器软件.它可以运行在几乎所有广泛使用的计算机平台上,由于其跨平台和安全性被广泛使用,是最流行的Web服务器端软件之一.当前Apache版本为2.4,本文主要描 ...

  9. Debian/Ubuntu/Centos下编译安装RocksDB

    参考:rocksdb/INSTALL.md at master · facebook/rocksdb 注意:gcc版本至少要4.8,安装教程:在CentOS/Debian/Ubuntu上编译安装最新版 ...

最新文章

  1. 修正r s分析法matlab程序,关于R/S分析程序用法
  2. 自动驾驶玩漂移,一顿操作猛如虎!!! 斯坦福最新研究
  3. SAP WM 有无保存WM Level历史库存的Table?
  4. shell中强制声明变量
  5. 【备忘】Oracle10g 创建、删除表空间、创建、授权用户
  6. 【细说软件工程】《软件工程》Software Engineering
  7. 领域驱动设计之PHP实现
  8. python+selenium十:selenium的二次封装
  9. tomcat 6.0环境, 网页超链接,文件下载另存为时,不能识别msi文件类型,另存为只能选htm和所有文件。...
  10. pythonweb搭建教程_基于Centos搭建Python Web 环境搭建教程
  11. vue应用开发过程中在谷歌浏览器遇到的奇葩问题——谷歌插件屏蔽接口请求
  12. 【数据库系统设计】关系数据库标准语言SQL(2)
  13. 新浪微博php7升级实践,PHP7线上system time飙高问题
  14. GDAL写入FileGDB中文属性乱码问题
  15. 2020.3二级中选择题文件类型题目全套
  16. maya刀剑神域 建模_王者玩家最想联动的动漫——刀剑与铠甲勇士,如果实现会联动谁?...
  17. 如何在 Mac 上播放 Keynote 演示文稿?
  18. python alembic which comes from SQLalchemy
  19. msys2+mingw32环境搭建
  20. 补充STM32 PWM占空比,频率的计算及输入捕获细节到STM32库函数的掌握方法

热门文章

  1. 数据标注成人工智能核心高地,未来谁扛大旗?
  2. 预训练是 AI 未来所需要的全部吗?
  3. 华为任正非谈退休:思维跟不上的时候退,目前是才思泉涌的状态
  4. 深聪智能朱澄宇:自研 AI 芯片不是赶时髦 | CCF-GAIR 2019
  5. 对话创新工场陶宁:AI步入深水区下的投资逻辑
  6. 人脸识别市场广 离不开政策支持及市场强劲需求
  7. 人工智能科普|自然语言处理(NLP)
  8. 算法战:需要人工智能生态系统来增强安全性
  9. 云ERP真的靠谱吗?
  10. 机器学习算法面试—口述(4):决策树