源码编译安装lnmp环境

时间:2023-03-08 20:54:15
一、源码编译安装步骤
首先说明源码安装的好处   速度快,可自定义路径
主要有三步:
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