一、源码编译安装步骤
首先说明源码安装的好处   速度快,可自定义路径
主要有三步:
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. 微擎开发------day02

    基本要素: 微擎系统数据库操作使用PDO兼容方式,参数绑定进行查询操作 (1) 数据表加上表前缀 $sql  = "select * from ".tablename('users ...

  2. 使用U盘安装CentOS7

    为了在公司的旧笔记本电脑上安装centos供自己学习使用折腾了两天,终于在看了https://www.cnblogs.com/yeeo1/p/7306611.html这篇博文后装上了, 以下内容为转载 ...

  3. 百度地图sdk sha1秘钥获取有种想吐的赶脚

    撸代码坐的腰算背疼还只是弄一个不是项目里边需要的升级版本的so 日 需要sha1 指纹秘钥,还有项目包, 才能用百度地图sdk 这个找sha1  获取废了20分钟, 显示全盘找keytool.exe ...

  4. python 常用标准库

    标准库和第三方库第一手资料: 在线: 官方文档(https://docs.python.org/) 离线:交互式解释器(dir().help()函数),IPython(tab键提示.?.??) 一.  ...

  5. maven pom.xml文件 仓库搜索服务

    POM(Project Object Model),即项目对象模型,是 Maven 工程的基本工作单元,是一个 XML 文件,包含了项目的基本信息,用于描述项目如何构建.声明项目依赖 等等 Maven ...

  6. Vue中出现Do not use built-in or reserved HTML elements as component id:footer等等vue warn问题

    错误示图: 原因:是因为在本地项目对应文件的<script>中,属性name出现了错误的命名方式,导致浏览器控制台报错! 诸如: name: header .  . name: menu  ...

  7. nginx配置备忘

    一.本地测试环境配置 upstream gongsibao{ server ; server ; #fair; } server { listen ; server_name ubuntu00.xus ...

  8. zigbee3.0的协议特性

    ZigBee协议有如下特性: 支持多种网络拓扑,比如点对点,点对多点,自组网: 低工作占空比能力,提供长电池供电的可能: 低延迟: 采用DSSS扩频技术: 每个网络最高可支持65,000节点 128- ...

  9. tensorflow学习之(四)使用placeholder 传入值

    #placeholder 传入值 import tensorflow as tf """ tf.Variable:主要在于一些可训练变量(trainable variab ...

  10. ABP框架系列之四:(Repositories-仓库)

    "Mediates between the domain and data mapping layers using a collection-like interface for acce ...