源码编译安装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.安装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
三、安装php
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
四、安装php扩展
相关文件或者目录 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-config注意:个别需要开启别的功能后面需要加上如xlswriter扩展需要开启读取功能,则可在后面加入 --enable-reader=yes5.编译安装(make clean 如果是再次编译,先执行清楚,如果是第一次的话则直接安装即可)make && make install6.配置php.ini,加入扩展extension=redis.so7.重启phpkillall php-fpm php-fpm8.直接安装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_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');设置用户远程访问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 --permanentfirewall-cmd --reloadservice mysql start --启动MySQL
以上就是这次的全部内容!