Centos7下编译安装配置Nginx+PHP+MySql环境
序言
这次玩次狠得。除了编译器使用yum安装,其他全部手动编译。哼~
看似就Nginx、PHP、MySql三个东东,但是它们太尼玛依赖别人了。
没办法,想用它们就得老老实实给它们提供想要的东西。
首先的一些模块依赖一些lib库,
如果你是懒人,就顺着下面的命令分别输入就行了。然后直接看配置篇。(不过这样安装的可不是最新版本的哟)
----------------安装Nginx+PHP+MySql----------------------
1.1安装或更新gccgcc-c++
因为我安装的Centos是绝对纯洁滴。啥也没有。没辙了。只有先安装个编译器了。
#yuminstallgccgcc-c++
1.2创建需要使用的目录
source是用来存放源码的文件夹。package是用来存放编译后的库文件。lnmp是我们真正需要的东西才放里面。(nginx+mysql+memcached+php)
#mkdir/source/ #mkdir/package/ #mkdir/lnmp/
二、开始安装(nginx篇)
2.1解压pcre
[官方网站]http://www.pcre.org/
命令流程:
#cd/source/ #wgethttp://jaist.dl.sourceforge.net/project/pcre/pcre/8.38/pcre-8.38.tar.gz #tar-zxvfpcre-8.38.tar.gz
说明:不需要编译,只需要解压就行。
2.2解压zlib
[官方网站]http://zlib.net/
命令流程:
#cd/source/ #wgethttp://zlib.net/zlib-1.2.8.tar.gz #tar-zxvfzlib-1.2.8.tar.gz
说明:不需要编译,只需要解压就行。
2.3安装nginx
[官方网站]http://nginx.org/
命令流程:
#cd/source/ #wgethttp://nginx.org/download/nginx-1.8.0.tar.gz #tar-zxvfnginx-1.8.0.tar.gz #cdnginx-1.8.0 #./configure--prefix=/lnmp/nginx--with-pcre=/source/pcre-8.38--with-zlib=/source/zlib-1.2.8 #make #makeinstall
--with-pcre:用来设置pcre的源码目录。
--with-zlib:用来设置zlib的源码目录。
因为编译nginx需要用到这两个库的源码。
小章总结:
此处告一段落,nginx安装完成。我们可以先满足下自己的欲望心。打开nginx服务看看HelloWorld吧。
启动nginx
#/lnmp/nginx/sbin/nginx
启动后可以再浏览器中打开页面,会显示nginx默认页面。
三、开始安装(php篇)
3.1安装libxml2
[官方网站]http://xmlsoft.org/
命令流程:
#cd/source/ #wgetftp://xmlsoft.org/libxml2/libxml2-2.9.3.tar.gz #tar-zxvflibxml2-2.9.3.tar.gz #cdlibxml2-2.9.3 #./configure\ #--prefix=/package/libxml2--with-python=no #make #makeinstall
这里--with-python=no是
3.2安装php
[官方网站]http://php.net/
命令流程:
#cd/source/ #wgethttp://cn2.php.net/distributions/php-7.0.2.tar.gz #tar-zxvfphp-7.0.2.tar.gz #cdphp-7.0.2 #./configure\ #--prefix=/lnmp/php\ #--with-libxml-dir=/package/libxml2\//打开libxml2库的支持 #--with-config-file-path=/lnmp/php/etc\//配置文件所在目录 #--enable-mbstring\//支持mbstring库 #--enable-fpm\//支持php-fpm(推荐打开) #--with-mysqli//打开mysqli模块 #make #makeinstall
四、开始安装(mysql篇)
4.1安装cmake
[官方网站]https://cmake.org/
命令流程:
#wgethttps://cmake.org/files/v3.4/cmake-3.4.1.tar.gz #tar-zxvfcmake-3.4.1.tar.gz #cdcmake-3.4.1 #./configure--prefix=/package/cmake #make #makeinstall #exportPATH=/package/cmake/bin:$PATH//设置环境变量。可忽略,只是为了你以后使用cmake方便点。
4.2安装ncurses
[官方网站]http://ftp.gnu.org/gnu/ncurses/
命令流程:
#wgethttp://ftp.gnu.org/gnu/ncurses/ncurses-6.0.tar.gz #tar-zxvfncurses-6.0.tar.gz #cdncurses-6.0 #./configure--prefix=/package/ncurese #make #makeinstall
4.3安装mysql
[官方网站]http://www.mysql.com/
命令流程:
不带boost安装方式
//这个是不带boost版本的mysql源码。你可以使用以下的参数在编译过程中自动下载boost //-DDOWNLOAD_BOOST=1-DWITH_BOOST=/package/boost #wgethttp://cdn.mysql.com/Downloads/MySQL-5.7/mysql-5.7.10.tar.gz #tar-zxvfmysql-5.7.10.tar.gz #cdmysql-5.7.10 #cmake.-DCMAKE_INSTALL_PREFIX=/usr/local/mysql\ #-DDOWNLOAD_BOOST=1-DWITH_BOOST=/package/boost\//设置自动下载boost库,并放到-DWITH_BOOST指定的路径里。 #-DCURSES_LIBRARY=/package/ncurses/lib/libncurses.a\//ncurses库libncurses.a #-DCURSES_INCLUDE_PATH=/package/ncurses/include//ncurses库头文件 #make#makeinstall
自带boost安装方式
#wgethttp://cdn.mysql.com/Downloads/MySQL-5.7/mysql-boost-5.7.10.tar.gz #tar-zxvfmysql-boost-5.7.10.tar.gz #cdmysql-5.7.10 #cmake.-DCMAKE_INSTALL_PREFIX=/usr/local/mysql\ #-DWITH_BOOST=/boost/boost_1_59_0//boost库的路径 #-DCURSES_LIBRARY=/package/ncurese/lib/libncurses.a\//ncurses库libncurses.a #-DCURSES_INCLUDE_PATH=/package/ncurses/include//ncurses库头文件 #make #makeinstall
说明:mysql从5.7版本后就需要boost库的支持了。并且非常恶心的是mysql需要指定的boost版本号,高了或低了都有可能导致编译不通过。
到此,使用CentOS7上常用的、全新的Web模块基本已经完成了,剩下的就是对这些软件进行配置咯。哈哈,其实代码多,但是了解后真的挺简单,就那几个命令。怎么样?是不是蛮简单的。
----------------配置Nginx+PHP+MySql------------------------
一、准备工作
1.1安装vim
#yuminstallvim
二、开始配置(nginx篇)
2.1修改nginx.conf
#vimnginx.conf
2.2找到如下内容,并删除红色标记的字符
#passthePHPscriptstoFastCGIserverlisteningon127.0.0.1:9000 # #location~\.php${ #roothtml; #fastcgi_pass127.0.0.1:9000; #fastcgi_indexindex.php; #fastcgi_paramSCRIPT_FILENAME/scripts$fastcgi_script_name; #includefastcgi_params; #}
2.3修改完成
#passthePHPscriptstoFastCGIserverlisteningon127.0.0.1:9000 # location~\.php${ roothtml; fastcgi_pass127.0.0.1:9000; fastcgi_indexindex.php; fastcgi_paramSCRIPT_FILENAME$document_root$fastcgi_script_name; includefastcgi_params; }
2.4输出phpinfo文件
echo"<?phpechophpinfo();?>">/lnmp/nginx/html/index.php
2.5启动nginx
/lnmp/nginx/sbin/nginx
小章总结:
完成上面的修改就可以让nginx来转发php的动态脚本请求。
不过目前还不能打开php文件,因为还没有打开php-fpm。
我们继续向下看。
三、开始配置(php-fpm)
3.1copy默认配置文件
#cd/source/php-7.0.2 #cpphp.ini-development/lnmp/php/etc/php.ini #cd/lnmp/php/etc #cpphp-fpm.conf.defaultphp-fpm.conf #cd/lnmp/php/etc/php-fpm.d/ #cpwww.conf.defaultwww.conf
3.2运行php-fpm
#/lnmp/php/sbin/php-fpm-c/lnmp/php/etc/php.ini
二、常用命令
nginx常用命令
启动nginx
#/lnmp/nginx/sbin/nginx
重启nginx
#/lnmp/nginx/sbin/nginx-sreload
关闭nginx
#/lnmp/nginx/sbin/nginx-sstop
php-fpm常用命令
启动php-fpm
#/lnmp/php/sbin/php-fpm-c/lnmp/php/etc/php.ini
重启php-fpm
#kill-SIGUSR2`cat/lnmp/php/var/run/php-fpm.pid`
关闭php-fpm
#kill-SIGINT`cat/lnmp/php/var/run/php-fpm.pid`
信号解释:
- SIGINT,SIGTERM立刻终止
- SIGQUIT平滑终止
- SIGUSR1重新打开日志文件
- SIGUSR2平滑重载所有worker进程并重新载入配置和二进制模块
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。