一、源码编译安装步骤
首先说明源码安装的好处   速度快,可自定义路径
主要有三步:
1.配置
进入源码安装包  ./configure --prefix=/uer/local/nginx  可指定参数--prefix为安装路径
2.编译
相当于rpm包  make
3.安装 make install
如果安装出错,先清楚一下
make clean,然后重新配置编译安装
二、安装nginx

1.安装可能需要的依赖环境,

yum
-y install libxml2-devel gd-devel libmcrypt-devel libcurl-devel openssl-devel 
bison zlib-devel  wget ncurses-devel gcc gcc-c++ cmake;

wget
ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.39.tar.gz

编译安装
3.安装nginx
wget
nginx官网链接地址
解压
tar
-zxvf nginx
进入nginx解析
./configure
--prefix=/usr/local/nginx 安装路径
编译安装
make
&& make install
建立软链接,可在任意地方启动,类似快捷方式
ln
-s /usr/local/nginx/sbin/nginx(nginx安装路径)  /sbin
重启nginx
无缝重启nginx
-s reload  或者先杀死进程 killall nginx 再nignx
三、安装php
1.安装php
wget
php官网链接地址
2.解压php
tar
-zxvf php
3.配置
./configure
--prefix=/usr/local/php  --with-config-file-path=/usr/local/php \

--with-mysql=/usr/local/mysql \  没有安装mysql 可先不写
--with-mysqli
\
--with-pdo-mysql \
--with-gd \
--with-freetype-dir \
--with-curl
\
--with-xmlrpc \
--with-curl \
--with-iconv=/usr/local/libiconv-1.14
\
--with-zlib \
--with-jpeg-dir \
--with-png-dir \
--with-openssl
\
--with-libxml-dir \
--with-mcrypt=/usr/local/libmcrypt-2.5.7
\
\
\
--enable-fpm \ 这个参数必须写
--enable-static
\
--disable-inline-optimization \
--enable-sockets \
--enable-zip
\
--enable-calendar \
--enable-bcmath \
--enable-soap \
--enable-ftp
\
--enable-mbstring \
--enable-shared \
--disable-fileinfo  ;
4.编译安装
make
&& make install
5.配置php信息
php.ini默认位置为lib目录
cp
php.ini-production(development) /usr/local/php/lib/php.ini
6.配置php
配置文件
cp
etc/php-fpm.conf.default etc/php-fpm.conf
建立软链接
ln
-s /usr/local/php/bin/php-fpm /sbin
启动php
killall php-fpm
四、安装php扩展
相关文件或者目录   phpize  php-config
1.下载文件
wget
pecl.php.net链接地址
2.解压(此时目录里面应该没有configure文件)
tar
-zxvf redis
3.php扩展支持,进入目录,输入phpize,运行这个命令(如果不存在输入绝对路径/usr/local/php/bin/phpize)
phpize 或者 
/usr/local/php/bin/phpize
 
(原因)phpize扩展安装,源包需要有config.m4这个配置文件,当前扩展的源码包没有,所以需要运行phpize再进行安装
 
4.配置,此时发现目录下已经存在configure文件,如果已经配置过环境变量可不写参数
./configure
--with-php-config=/usr/local/php/bin/php-config
5.编译安装
make
&& make install
6.配置php.ini,加入扩展
extension=redis.so
7.重启php
killall
php-fpm php-fpm
 
8.直接安装
pecl install xxx 
五、配置php环境变量
php设置环境变量
1.export
PATH=$PATH:/usr/local/php/bin  临时环境变量,重启后失效
2.vi
/.bash_profile 编辑文件,加入PATH
把/usr/local/php/bin
加入到PATH=$PATHHOME/bin 这行后面
六、安装mysql
1.检查是否安装过
rpm
-qa | grep mysql
如果有通过以下命令卸载
rpm
-e mysql //删除普通模式  rpm -e --nodeps mysql 强力删除
2.安装mysql 
需要注意的是mysql5.6以后是通过cmake来编译的
3.下载安装包
4.解压
tar
-zxvf mysql-5.6.26.tar.gz
说明:如果目录中没有cmake文件,说明已经编译过了,可以直接使用。
5.编译
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
mysql参数详解
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql     
//mysql安装路径
-DINSTALL_DATADIR=/usr/local/mysql/data        
//数据库存放目录
-DSYSCONFDIR=/etc                                          
 //配置文件路径
-DWITH_MYISAM_STORAGE_ENGINE=1 \          
//启用myisam引擎支持
-DWITH_INNOBASE_STORAGE_ENGINE=1 \      
//启用innodb引擎支持
-DWITH_MEMORY_STORAGE_ENGINE=1 \       
//启用memory引擎支持
-DWITH_PARTITION_STORAGE_ENGINE=1 \      
//启用partition引擎支持
-DWITH_READLINE=1
\                                        //启用readline库支持(提供可编辑的命令行)
-DMYSQL_UNIX_ADDR=/var/lib/mysql/mysql.sock
\  //指定mysql.sock路径
-DMYSQL_TCP_PORT=3306 \                               
//默认端口号
-DDEFAULT_CHARSET=utf8                   
    //使用utf8字符
-DDEFAULT_COLLATION=utf8_general_ci           
//校验字符
-DEXTRA_CHARSETS=all                       
    //安装所有扩展字符集
-DENABLED_LOCAL_INFILE=1                       
//允许从本地导入数据
注意事项:
重新编译时,需要清除旧的对象文件和缓存信息
make
clean
rm
-f CMakeCache.txt
rm
-rf /etc/my.cnf
6.解压安装
make
&& make install  或者 make -j 2 && make install
-j
用来指定CPU核心数,可加快编译速度
7.设置权限
使用下面的命令查看是否有mysqly用户和用户组
cat
/etc/passwd    查看用户列表
cat
/etc/group   查看用户组列表
如果没有创建
useradd
-g mysql mysql   创建用户组为mysql的用户mysql
group
mysql    创建用户组mysql
修改/usr/local/mysql权限
chown
-R mysql:mysql   /usr/local/mysql
8.初始化配置
cd
/usr/local/mysql
进入安装路径,执行初始化配置脚本,创建系统自带的数据库和表
scripts/mysql_install_db
--basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql
说明:在CentOS
6.4版操作系统的最小安装完成后,在/etc目录下会存在一个my.cnf,需要将此文件更名为其他的名字,因为在启动MySQL服务时,会按照一定次序搜索my.cnf,先在/etc目录下找,找不到则会搜索"$basedir/my.cnf",否则,该文件会干扰源码安装的MySQL的正确配置,造成无法启动。
9.设置开机自启
cp
support-files/mysql.server /etc/init.d/mysql  
chkconfig
mysql on
启动mysql
service
mysql start
10.配置用户,设置之前先设置PATH,否则无法直接调用mysql,
修改
/etc/profile文件
vi
/etc/profile
在末尾添加
PATH=/usr/local/mysql/bin:$PATH
export
PATH
退出,运行下面的命令,让配置立即生效
source
/etc/peofile
11.进入mysql
默认mysql用户为root,密码为空
mysql
-uroot
修改密码
SET
PASSWORD = PASSWORD('123456');
设置用户远程访问
GRANT
ALL PRIVILEGES ON *.* TO 'root'@'*' IDENTIFIED
BY 'password' WITH GRANT OPTION;
12.配置防火墙
或者直接关闭防火墙
vi
/etc/sysconfig/iptables
添加端口号
-A
INPUT -m state --state NEW -m tcp -p -dport 3306 -j ACCEPT
退出重启防火墙
service
iptables restart
补充说明:
CentOS
7中默认使用Firewalld做防火墙,所以修改iptables后,在重启系统后,根本不管用。
Firewalld中添加端口方法如下:
firewall-cmd
--zone=public --add-port=3306/tcp --permanent
firewall-cmd
--reload
service
mysql start  --启动MySQL

源码编译安装lnmp环境的更多相关文章

  1. 源码编译安装LNMP环境及配置基于域名访问的多虚拟主机

    实验环境及软件版本: CentOS版本: 6.6(2.6.32.-504.el6.x86_64) nginx版本: nginx-1.6.2 mysql版本:  Mysql-5.6.23 php版本: ...

  2. centos6源码编译安装lnmp环境

    操作系统 版本 64位 CentOS-6.6    10.0.0.20 安装环境所需依赖包 yum -y install gcc automake autoconf libtool make gcc- ...

  3. 源码编译安装lnmp环境(nginx-1.14.2 + mysql-5.6.43 + php-5.6.30 )------踩了无数坑,重装了十几次服务器才会的,不容易啊!

    和LAMP不同的是,LNMP中的N指的是Nginx(类似于Apache的一种web服务软件),并且php是作为一个独立服务存在的,这个服务叫做php-fpm,Nginx直接处理静态请求,动态请求会转发 ...

  4. WordPress安装篇(5):源码编译安装LNMP并部署WordPress

    与YUM方式安装相比,源码编译安装方式更灵活,安装过程中能自定义功能和参数,特别是在批量部署服务器又要求软件版本及配置一致时,源码编译安装的优势很明显.本文介绍如何通过源码编译方式安装Nginx1.1 ...

  5. 源码编译搭建LNMP环境

    LNMP源码编译 1.LNMP介绍 LNMP=Linux Nginx Mysql PHP Nginx ("engine x") 是一个高性能的 HTTP 和 反向代理 服务器.Ng ...

  6. 源码编译安装LAMP环境及配置基于域名访问的多虚拟主机

    实验环境及软件版本: CentOS版本: 6.6(2.6.32.-504.el6.x86_64) apache版本: apache2.2.27 mysql版本:  Mysql-5.6.23 php版本 ...

  7. 年终福利,PHP7+Apache2.4+MySQL5.6 源码编译安装,环境配置,搭建你自己的LAMP环境

    PHP7 都出来了,你还在玩PHP5吗? MySQL5.6 早都出来了,你还在玩MySql5.2吗? Apache2.4 早都出来了,你还在玩Apache2.2吗? 笔者不才,愿意亲自搭建环境,供搭建 ...

  8. centos7源码编译安装LNMP+ZABBIX4.0LTS(1)——nginx

    环境:192.168.117.132--zabbix server192.168.117.133--zabbix proxy 安装路径为/zabbix 安装nginx 1.安装包下载http://ng ...

  9. 源码编译安装 LNMP及论坛

    一.安装Nginx服务 systemctl stop firewalld systemctl disable firewalld setenforce 0 1.安装依赖包 yum -y install ...

随机推荐

  1. 飞鱼星、H3C企业路由器配置

    飞鱼星企业路由器配置外网访问IIS 只配置端口映射就行,配置好了,如果不立即重启,需要等几分钟才能生效 H3C路由器配置虚拟服务器即可

  2. 【转载】SQL Server - 使用 Merge 语句实现表数据之间的对比同步

    原文地址:SQL Server - 使用 Merge 语句实现表数据之间的对比同步 表数据之间的同步有很多种实现方式,比如删除然后重新 INSERT,或者写一些其它的分支条件判断再加以 INSERT ...

  3. 利用springloaded进行java jar&class的动态替换

    之前已经写过一篇关于class的动态替换博客,今天我们来介绍一下如何用springloaded进行jar&class的动态替换. 首先说一下实验过程,结合了目前我正在做的项目,这个项目是一个前 ...

  4. vs2015调试断点无法命中

    问题描述: 我是从vc6.0的原工程导入的,用vs2015编译,在断点调试的时候遇到问题,断点无法命中; 修改方法:工程->属性->C/C++ 常规->调试信息格式->设置为C ...

  5. python_day10

    目录: 并发多线程 协程 I/O多路复用(未完成,待续) 一.并发多线程 1.线程简述: 一条流水线的执行过程是一个线程,一条流水线必须属于一个车间,一个车间的运行过程就是一个进程(一个进程内至少一个 ...

  6. Python3个人学习笔记--每天一点一滴成长!

    简单的while循环:输入一个数字,while获取该数字,并输出该数字. 例子:猜幸运数字是多少? lucky_num = int(input("number:")) a = 0 ...

  7. FTP服务与配置

    FTP简介 网络文件共享服务主流的主要有三种,分别是ftp.nfs.samba. FTP是File Transfer Protocol(文件传输协议)的简称,用于internet上的控制文件的双向传输 ...

  8. android 学习网站

    菜鸟教程 http://www.runoob.com/android/android-tutorial.html Android基础入门教程  http://www.runoob.com/w3cnot ...

  9. CSS样式总结(作业六)

    1:CSS基本介绍 CSS全称为“层叠样式表 (Cascading Style Sheets)”,它主要是用于定义HTML内容在浏览器内的显示样式,如文字大小.颜色.字体加粗等. css 样式由选择符 ...

  10. JAVA核心问题(一)反射之引言 构造函数

    反射,简单来说,就是在运行时获取Class对象的所有属性和方法,无论公有私有.虽然是一个基础问题,在这里还是全面的记录一下,认真对待! 获取构造函数 构造函数大致分为两种,public和非public ...