源码编译安装lnmp环境
首先说明源码安装的好处 速度快,可自定义路径主要有三步:
1.配置
进入源码安装包 ./configure --prefix=/uer/local/nginx 可指定参数--prefix为安装路径
2.编译
相当于rpm包 make
3.安装 make install如果安装出错,先清楚一下
make clean,然后重新配置编译安装
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.安装nginxwget
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
1.安装phpwget
php官网链接地址2.解压phptar
-zxvf php3.配置./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 install5.配置php信息
php.ini默认位置为lib目录cp
php.ini-production(development) /usr/local/php/lib/php.ini6.配置php
配置文件cp
etc/php-fpm.conf.default etc/php-fpm.conf建立软链接ln
-s /usr/local/php/bin/php-fpm /sbin启动php
killall php-fpm
相关文件或者目录 phpize php-config1.下载文件wget
pecl.php.net链接地址2.解压(此时目录里面应该没有configure文件)tar
-zxvf redis3.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-config5.编译安装make
&& make install6.配置php.ini,加入扩展extension=redis.so7.重启phpkillall
php-fpm php-fpm8.直接安装pecl install xxx
php设置环境变量1.export
PATH=$PATH:/usr/local/php/bin 临时环境变量,重启后失效2.vi
/.bash_profile 编辑文件,加入PATH把/usr/local/php/bin
加入到PATH=$PATHHOME/bin 这行后面
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_cimysql参数详解-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
cleanrm
-f CMakeCache.txtrm
-rf /etc/my.cnf6.解压安装make
&& make install 或者 make -j 2 && make install-j
用来指定CPU核心数,可加快编译速度7.设置权限使用下面的命令查看是否有mysqly用户和用户组cat
/etc/passwd 查看用户列表cat
/etc/group 查看用户组列表如果没有创建useradd
-g mysql mysql 创建用户组为mysql的用户mysqlgroup
mysql 创建用户组mysql修改/usr/local/mysql权限chown
-R mysql:mysql /usr/local/mysql8.初始化配置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/mysqlchkconfig
mysql on启动mysqlservice
mysql start10.配置用户,设置之前先设置PATH,否则无法直接调用mysql,修改
/etc/profile文件vi
/etc/profile在末尾添加PATH=/usr/local/mysql/bin:$PATH
export
PATH退出,运行下面的命令,让配置立即生效source
/etc/peofile11.进入mysql
默认mysql用户为root,密码为空mysql
-uroot修改密码SET
PASSWORD = PASSWORD('123456');设置用户远程访问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 --permanentfirewall-cmd
--reloadservice
mysql start --启动MySQL
源码编译安装lnmp环境的更多相关文章
- 源码编译安装LNMP环境及配置基于域名访问的多虚拟主机
实验环境及软件版本: CentOS版本: 6.6(2.6.32.-504.el6.x86_64) nginx版本: nginx-1.6.2 mysql版本: Mysql-5.6.23 php版本: ...
- centos6源码编译安装lnmp环境
操作系统 版本 64位 CentOS-6.6 10.0.0.20 安装环境所需依赖包 yum -y install gcc automake autoconf libtool make gcc- ...
- 源码编译安装lnmp环境(nginx-1.14.2 + mysql-5.6.43 + php-5.6.30 )------踩了无数坑,重装了十几次服务器才会的,不容易啊!
和LAMP不同的是,LNMP中的N指的是Nginx(类似于Apache的一种web服务软件),并且php是作为一个独立服务存在的,这个服务叫做php-fpm,Nginx直接处理静态请求,动态请求会转发 ...
- WordPress安装篇(5):源码编译安装LNMP并部署WordPress
与YUM方式安装相比,源码编译安装方式更灵活,安装过程中能自定义功能和参数,特别是在批量部署服务器又要求软件版本及配置一致时,源码编译安装的优势很明显.本文介绍如何通过源码编译方式安装Nginx1.1 ...
- 源码编译搭建LNMP环境
LNMP源码编译 1.LNMP介绍 LNMP=Linux Nginx Mysql PHP Nginx ("engine x") 是一个高性能的 HTTP 和 反向代理 服务器.Ng ...
- 源码编译安装LAMP环境及配置基于域名访问的多虚拟主机
实验环境及软件版本: CentOS版本: 6.6(2.6.32.-504.el6.x86_64) apache版本: apache2.2.27 mysql版本: Mysql-5.6.23 php版本 ...
- 年终福利,PHP7+Apache2.4+MySQL5.6 源码编译安装,环境配置,搭建你自己的LAMP环境
PHP7 都出来了,你还在玩PHP5吗? MySQL5.6 早都出来了,你还在玩MySql5.2吗? Apache2.4 早都出来了,你还在玩Apache2.2吗? 笔者不才,愿意亲自搭建环境,供搭建 ...
- centos7源码编译安装LNMP+ZABBIX4.0LTS(1)——nginx
环境:192.168.117.132--zabbix server192.168.117.133--zabbix proxy 安装路径为/zabbix 安装nginx 1.安装包下载http://ng ...
- 源码编译安装 LNMP及论坛
一.安装Nginx服务 systemctl stop firewalld systemctl disable firewalld setenforce 0 1.安装依赖包 yum -y install ...
随机推荐
- 使用安装脚本安装Texlive
介绍 TeX Live 是 TUG (TeX User Group) 维护和发布的 TeX 系统,可说是「官方」的 TeX 系统.网上可找到的教程大多是从镜像安装完整版texlive.镜像发布的周期较 ...
- js学习(5)语法专题
Js是一种动态类型语言,变量没有类型限制,可以随时赋值 强制转换: 主要指使用Number(),String()和Boolean()三个函数,手动将各个类型的值,分别转换为数字,字符串或布尔值 Num ...
- ipv6 docker
DOCKER, IPV6 BASIC CONFIGURATION OF DOCKER ENGINE WITH IPV6 SEPTEMBER 21, 2015 EYEPV6(AT)GMAIL(DOT)C ...
- python小结 1
1.变量 记录状态 类型:数字,字符串,元组,列表,字典 可变不可变(内存地址不变的情况下,值能不能改变): 不可变:字符串,数字,元组 可变:列表,字典 访问顺序: 直接访问:数字 有序:字符串,列 ...
- Java 正则表达式之捕获组
Java 正则表达式之捕获组 1. Java 正则表达式基础 2. Java 正则表达式之捕获组 一.概述 1.1 什么是捕获组 捕获组就是把正则表达式中子表达式匹配的内容,保存到内存中以数字编号或显 ...
- rpo攻击
0 什么是RPO攻击? RPO(Relative Path Overwrite)相对路径覆盖,是一种新型攻击技术,最早由Gareth Heyes在其发表的文章中提出.主要是利用浏览器的一些特性和部分服 ...
- background-clip 和 background-origin 的区别
background-origin:指定绘制背景图片的起点. background-clip:是对背景图片的剪裁,指定背景图片的显示范围. 1.background-origin:padding | ...
- swiper,一个页面使用多个轮播
代码示例: <html> <head> <link href="https://cdn.bootcss.com/Swiper/4.3.0/css/swiper. ...
- 2018年2月19日我的java学习
2019/2/18 星期一今天学习了Java 中的面向对象思想主要学习了类 构造器等在学习修饰属性的过程中,有4点必须牢记前提是理解类的各种关系 类中有5种关系 本身 同包类 同包继承子类 不同包继承 ...
- windows下安装QT并与visual studio 2017搭建开发环境
1.环境搭建 这里并不是说qt必须要和visual studio结合使用,不过用习惯了visual studio开发,继续使用可节省开发时间,并大大提供便利性. 关于安装过程这里不再详细赘述,软件下载 ...