源码编译安装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 ...
随机推荐
- python list中append()方法和extend()方法区别
共同点 只能作用于list类型(不能作用于tuple等其他类型) 单参数限制(不支持多参数) 不同点 list.append(object) 向列表中添加一个对象object. 使用append的时候 ...
- 725. Split Linked List in Parts把链表分成长度不超过1的若干部分
[抄题]: Given a (singly) linked list with head node root, write a function to split the linked list in ...
- URL重写中的中文参数问题
在做搜索功能时,需要输入关键字,如果搜索出来的结果很多,又需要分页.这里用URL重写技术(即href="?keyword=关键字&page=分页数"),就涉及到了传递中文关 ...
- JavaSE基础知识(1)—初识Java
一.JAVA的背景 JAVA本身隶属的公司的是sun公司(创始公司) JAVA创始人:詹姆斯 高斯林 09年被oracle收购 JAVA的前身是Oak 二.JAVA的版本 95年 JAVA诞生96年 ...
- 正则冷知识;分组捕获、replace()的用法...
1.var reg=/./; var reg=/\./的区别?? 前者代表任意一个字符,后者代表这个字符串中得有一个.. 2.?的使用?? 如果单独的一个字符串后面带? , var reg=/\d?/ ...
- mysql sql_mode=only_full_group_by错误解析
实测,解决问题; 1.错误提示: 2.检查参数设置: 3.mysql的配置文件my.cnf里面可以修改, 但是,改完以后,你检查所有的参数设置都是对的,就是运行不了.怎么办?怎么办? 4.如果还是不行 ...
- 常用screen参数
摘自:https://www.cnblogs.com/webnote/p/5749675.html screen -S yourname -> 新建一个叫yourname的sessionscre ...
- 学习:java集合
java是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由Sun Microsystems公司于1995年5月推出的Java程序设计语言和Java平台(即JavaEE, JavaME, Jav ...
- ABP框架系列之二:(Entity Framework Core-实体核心框架)
Introduction(介绍) Abp.EntityFrameworkCore nuget package is used to integrate to Entity Framework (EF) ...
- c语言模拟c++的继承和多态
//C++中的继承与多态 struct A { virtual void fun() //C++中的多态:通过虚函数实现 { cout << "A:fun()" < ...