CENTOS6.5源码安装LNMP

一、安装前准备

##############################################################################################

yum -y install ntp make openssl openssl-devel pcre pcre-devel libpng libpng-devel libjpeg-6b libjpeg-devel-6b freetype freetype-devel gd gd-devel zlib zlib-devel gcc gcc-c++ libXpm libXpm-devel ncurses ncurses-devel libmcrypt libmcrypt-devel libxml2 libxml2-devel imake autoconf automake screen sysstat compat-libstdc++-33 curl curl-devel cmake

说明:
在此篇博文中,mysql、php、nginx的源码下载目录为/usr/src/,安装目录分别在/usr/local/mysq /usr/local/php /usr/local/nginx

##############################################################################################

二、安装MySQL5.6

##############################################################################################

#安装目录:/usr/local/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

#下载MySQL5.6压缩包
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 /usr/local/mysql/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 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

##############################################################################################

#安装目录: /usr/local/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 https://jaist.dl.sourceforge.net/project/mhash/mhash/0.9.9.9/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
#编译这部分容易发生错误,编译完先看一下有没有报error
./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配置文件(php.ini-production在解压的目录中)
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

##############################################################################################

#安装目录: /usr/local/nginx-1.10.3

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://nginx.org/download/nginx-1.10.3.tar.gz
tar -zxvf nginx-1.10.3.tar.gz
cd nginx-1.10.3
./configure --prefix=/usr/local/nginx-1.10.3 --with-http_ssl_module --with-http_stub_status_module --with-pcre
make
make install

#开启nginx进程
/usr/local/nginx-1.10.3/sbin/nginx

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

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

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

#配置nginx支持php

#nginx的配置文件nginx.conf在

cd /usr/local/nginx/conf

#nginx默认web文件夹在

/usr/local/nginx/html

如果需要nginx支持PHP需要修改nginx.conf,加入如下语句:
location ~ \.php$ {
#root html;#此处和server下面root保持一致,默认为html
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
#fastcgi_param SCRIPT_FILENAME /usr/local/nginx/html/$fastcgi_script_name;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}

#在conf下新建vhosts文件夹,用于存放各个域名的配置文件
mkdir vhost

##############################################################################################

时间: 2024-10-14 16:58:11

CENTOS6.5源码安装LNMP的相关文章

CentOS6系统源码安装LNMP环境详解

一.安装nginx 以下命令均在root权限下执行,普通用户可通过su命令切换1.安装依赖 yum install gcc-c++ yum install pcre pcre-devel yum install openssl openssl-devel 2.下载源码 wget http://nginx.org/download/nginx-1.8.1.tar.gztar -zxvf nginx-1.8.1.tar.gzcd nginx-1.8.1 3.创建nginx用户 useradd -M 

centos6.5源码安装rubyonrails及其gem插件

centos6.5源码安装ruby  on   rails 环境centos6.5  64bit 准备工作: 安装这些插件用于接下来ruby源码安装 说明: gcc 安装编译环境所用 RubyGems是用来安装ruby扩展包的模块,必要安装 在线安装: # yum install gcc # yum install make # yum install gcc-c++ 1安装ruby (1)下载ruby源文件 进入你想存放到目录,下载ruby源文件,默认下载到当前所在到目录#(cd /cfb)

CentOS6.5源码安装多个MySQL实例及复制搭建

多实例安装本节是在CentOS6.5源码安装MySQL5.6.35的基础上,在同一台机器增加一个MySQL实例.参考Centos中安装多个mysql数据的配置实例,安装目录为/usr/local/mysql3307/ 6.目录创建(-p父目录不存在则创建此目录) [[email protected] ~]# cd mysql-5.6.35 [[email protected] mysql-5.6.35]# mkdir -p /usr/local/mysql3307/data 7.编译安装 [[e

centos6.4 源码安装httpd

什么是源码  编译器 可运行档 在 Linux 系统上面,一个文件能不能被运行看的是有没有可运行的那个权限 (具有 x permission),不过,Linux 系统上真正认识的可运行档其实是二进位文 ( binary program), /usr/bin/passwd, /bin/touch 这些个文件即为二进位程序码 在 Linux 上面最标准的程序语言为 C ,所以我使用 C 的语法进行原始程序码的书写,写完之后,以 Linux 上标准的 C 语言编译器 gcc 这支程序来编译,就可以制作

Linux服务器--CentOS6上源码安装LAMP(实现WordPress,PhpMyAdmin)

Linux服务--CentOS6实现LAMP(源码安装) 实验要求: 安装php时实现php模块嵌入到httpd中和实现fpm两种方式.在fpm下,提供两个虚拟主机: 分别用于实现PHPMyadmin和WordPress,其中PhpMyAdmin提供ssl. 实验环境: CentOS系统一台(IP:172.16.99.4),所需的httpd,mariadb,php,PhpAdmin,WordPress的源码包. 实验步骤: 安装顺序:httpd-->mariadb-->php. 安装前的准备工

CentOS6.5源码安装nodejs4.4

此文章记录CentOS6.5下,安装当前最新稳定版nodejs.道路曲折,但也是自己几个小时的辛勤劳动,很满足. 1.nodejs下载 NodeJS下载地址 https://nodejs.org/en/download/ [[email protected] packages]# wget https://nodejs.org/dist/v4.4.0/node-v4.4.0.tar.gz 2.解压 [[email protected] src]# tar -zxvf node-v4.4.0.ta

CentOS6.6 源码安装LAMP环境

操作系统环境:CentOS6.6 X86_X64 FINAL 源码安装LAMP环境首先上传源码包到/usr/local/src/lamp目录下,版本是httpd-2.2.16.tar.gz mysql-5.1.40-linux-x86_64-icc-glibc23.tar.gz php-5.3.28.tar.gz然后使用tar -xzvf 解压源码包tar -xzvf httpd-2.2.16.tar.gztar -xzvf mysql-5.1.40-linux-x86_64-icc-glibc

CentOS6.5源码安装MySQL5.6.35

接上一篇文章使用RPM包安装MySQL,确实很方便.但是安装后却不知道各文件保存在哪个文件夹下!尝试使用源码安装~本文主要参考:CentOS 6.4下编译安装MySQL 5.6.14 一.卸载旧版本 1.使用下面的命令检查是否安装有mysql [[email protected] tools]# rpm -qa|grep -i mysql 2.有的话就卸载 [[email protected] tools]# yum remove MySQL-server-5.6.35-1.el6.i686 [

CentOS6.5源码安装python3.5.2

前提: 1.实现自动补全需要安装模块 readline-devel (yum install -y readline-devel) 2.实现支持SSL协议需安装模块 openssl-devel (yum install -y openssl-devel) 安装步骤 1.下载python3.5源码包到/usr/local/src/ (https://www.python.org/ftp/python/3.5.2/Python-3.5.2.tgz) 2. tar xf Python-3.5.2.tg