源码编译安装lnmp环境

一、源码编译安装步骤
首先说明源码安装的好处   速度快,可自定义路径
主要有三步:
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
 
注意:个别需要开启别的功能后面需要加上
如xlswriter扩展需要开启读取功能,则可在后面加入 --enable-reader=yes
 
5.编译安装(make clean 如果是再次编译,先执行清楚,如果是第一次的话则直接安装即可)
make && make install 
6.配置php.ini,加入扩展
extension=redis.so
7.重启php
killall php-fpm php-fpm
 
8.直接安装
pecl install xxx 
 
注意:
1.如果环境中同时有两个以上的PHP,那么phpize编译时写要运行的绝对路径,否则编译完的扩展不匹配,会导致不能用。
2.--with-php-config后面的路径写自己的PHP目录
3.扩展安装完成后会有一个modules模块,redis.so会在这个目录中
4.phpinfo查看自己的php.ini目录,添加redis扩展后面跟redis.so的目录
五、配置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
 
以上就是这次的全部内容!
posted @ 2017-04-21 21:17  静小妞  阅读(923)  评论(0编辑  收藏  举报