当前位置: 首页 > 后端技术 > PHP

Centos7系统下编译安装LNMP环境

时间:2023-03-30 05:12:24 PHP

我用的是Centos764位版本的私有云服务器。本文所需的相关软件链接地址链接:https://pan.baidu.com/s/1RNAX...密码:1goh安装nginx首先安装nginx的依赖yuminstallgccgcc-c++opensslopenssl-develcyrus-sasl-md5如果问我们是否安装,我们按“y”回车安装。安装nginx,在roothome目录下创建一个software目录(可以使用cd~切换到用户的Home目录)将我们需要的所有软件包上传到服务器software目录下。上传后解压文件tar-zxvfnginx-1.14.0.tar.gz进入nginx解压后的目录编译。我们将nginx安装到/usr/local/nginx目录下。/configure--prefix=/usr/local/nginx--with-http_ssl_module--with-pcre=../pcre-8.39--with-zlib=../zlib-1.2.8执行make&&makeinstall安装并启动nginx/usr/local/nginx/sbin/nginx查看系统进程nginx是否启动成功ps-ef|grepnginx在这里nginx加入开机自动启动我们的nginx还没有开机自动启动,那我们就在开机的时候把他加入到自动启动服务中!我们首先编辑系统启动脚本vim/etc/rc.local这个文件会在系统启动后自动执行,我们将启动命令添加到这个文件中,我们可以按i进入编辑模式,插入相应的程序启动命令/usr/local/nginx/sbin/nginx-c/usr/local/nginx/conf/nginx.conf&然后我们:wq保存文件退出,重启后使用init6重启系统我们连接服务器并使用ps-e|grepnginx查看nginx进程,发现已经成功启动。如果你发现你的进程没有启动成功,可能是因为你的脚本文件没有可执行权限。请为该文件添加其他人的可执行权限。chmodo+x/etc/rc.local之后重新我们再检查一下,将nginx的位置添加到环境变量中vim/etc/profile编辑环境变量文件,添加如下内容exportPATH="$PATH:/usr/local/nginx/sbin:"然后我们更新环境变量并使用命令重启nginxsource/etc/profile&&nginx-sreload2.编译安装PHP-FPM首先安装必要的软件依赖yuminstallgccgcc-c++libxml2libxml2-develautoconflibjpeglibjpeg-devellibpnglibpng-develfreetypefreetype-develzlibzlib-develglibcglibc-develglib2glib2-devel会有提示是否安装Pressytocontinueinstallation安装完成后,我们进入软件目录解压文件tar-zxvfphp-7.2.5.tar.gz进入PHP解压后的目录cdphp-7.2.5/compile./configure--prefix=/usr/local/php-fpm--enable-fpm--with-zlib--with-pdo-mysql--enable-mbstring--with-gd--with-png-dir=/usr/lib64--with-jpeg-dir=/usr/lib64--with-freetype-dir=/usr/lib64installmake&&makeinstall先配置一下到php-fpm下复制一个配置文件安装目录等cpphp-fpm.conf.defaultphp-fpm.conf然后我们编辑这个配置文件cdphp-fpm.dcpwww.conf.defaultwww.conf这些都设置好之后我们就可以保存退出了:wq创建对应的用户系统会默认为我们创建一个同名的用户组。启动php-fpm后,查看进程是否启动成功useraddphp/usr/local/php-fpm/sbin/php-fpms-ef|grepphp3.安装mysql8.0.11环境准备yuminstallncurses-devel-yyuminstalllibaio-yyuminstallglibc-devel.i686glibc-devel-yyuminstallgccgcc-c++-y另外,MySQL8.0需要gcc4.8以上版本,centos6.4只能安装到4.4。7、所以在安装mysql8.0之前需要手动安装更高版本的gcc。这里我以gcc-8.8.2为例:wgetftp://ftp.gnu.org/gnu/gcc/gcc-4.8。2/gcc-4.8.2.tar.gztarxfgcc-4.8.2.tar.gzcdgcc-4.8.2编译依赖./configure--prefix=/usr/local/gcc-4.8.2/--enable-bootstrap--enable-threads=posix--enable-languages=c,c++,objc,obj-c++如果遇到错误configure:error:BuildingGCCrequiresGMP4.2+,MPFR2.4.0+andMPC0.8.0+.解决方法:下载安装缺少的依赖下载地址:http://www.multiprecision.org...可选直接下载地址:ftp://gnu.mirror.iweb.com/gmp/gmp-4.3。2.tar.gzhttps://gmplib.org/download/g...https://gmplib.org/download/g...ftp://gnu.mirror.iweb.com/gmp/gmp-4.2.3.tar.gzhttp://www.mpfr.org/mpfr-curr...http://www.mpfr.org/mpfr-curr...ftp://ftp.gnu.org/gnu/mpc/mpc-1.0.3.tar.gzftp://gnu.mirror.iweb.com/mpc/mpc-1.0.1.tar.gz安装文档:https://gmplib.org/manual/Ins...http://www.mpfr.org/mpfr-curr。..安装例子比如我安装了gmp4.3.2版本wgetftp://gnu.mirror.iweb.com/gmp/gmp-4.3.2.tar.gztar-zxvfgmp-4.3.2.tar.gzcdgmp-4.3.2./configuremake&&makeinstall如果安装gcc-4.8.4make时出现如下错误:configure:error:cannotcomputesuffixofobjectfiles:cannotcompile解决方法:我的gmp、mpfr、mpc都用默认参数安装时不指定任何参数,所以只需使用如下命令设置环境变量:exportLD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib如果在安装时指定了安装目录,则使用类似下面的命令:导出LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/gcc-4.6.3/mpc-0.9/mpc_install/lib:/opt/gcc-4.6.3/gmp-5.0.4/gmp_install/lib:/opt/gcc-4.6。3/mpfr-3.1.0/mpfr_install/lib现在编译安装gcc不会再报错cdgcc-4.8.2make&&makeinstall注意:make会花很长时间。安装完成后,需要将原来的gcc环境换成新版本的gcc,否则安装时mysql还是使用原来的gcc:mv/usr/bin/gcc/usr/bin/gcc447mv/usr/bin/g++/usr/bin/g++447mv/usr/bin/c++/usr/bin/c++447mv/usr/bin/cc/usr/bin/cc447ln-s/usr/local/gcc-4.8.2/bin/gcc/usr/bin/gccln-s/usr/local/gcc-4.8.2/bin/g++/usr/bin/g++ln-s/usr/local/gcc-4.8.2/bin/c++/usr/bin/c++ln-s/usr/local/gcc-4.8.2/bin/gcc/usr/bin/ccmv/usr/lib64/libstdc++.so.6/usr/lib64/libstdc++.so.6.bakln-s/usr/local/gcc-4.8.2/lib64/libstdc++.so.6.0.18/usr/lib64/libstdc++.so.6解决了以下问题:接下来,安装boost库:wget-chttp://sourceforge.net/projects/...oost_1_60_0.tar.bz2--no-check-certificatetarxfboost_1_60_0.tar.bz2\?r\=\&ts\=1479114685\&use_mirror\=ncucdboost_1_60_0./bootstrap.sh./b2阶段线程=多链接=共享./b2安装线程=多链接=共享编译安装mysqltar-zxvfmysql-8.0.11-el7-x86_64.tar.gzcdmysql-8.0.0-dmrcmake-DCMAKE_INSTALL_PREFIX=/usr/local/mysql\-DMYSQL_DATADIR=/usr/local/mysql/data/-DSYSCONFDIR=\etc\mysql\-DWITH_INNOBASE_STORAGE_ENGINE=1\-DMYSQL_TCP_PORT=3306\-DENABLED_LOCAL_INFILE=1\-DEXTRA_CHARSETS=all\-DDEFAULT_CHARSET=utf8\-DDEFAULT_COLLATION=utf8_general_ci\-DWITH_BOOST=/tmp/boost_1_60_0/makeinstall&&MySQL新建mysql用户和组,并配置mysql用户对数据库目录cd的权限/usr/local/mysql/groupaddmysqluseradd-r-gmysqlmysqlchownmysql.mysql/usr/local/mysql-R删除默认配置文件rm-f/etc/my.cnfinstallMySQLsystemtable./scripts/mysql_install_db--user=mysqlinitializemysqlcd/usr/local/mysqlbin/mysqld--initialize--user=mysql--basedir=/usr/local/mysql--datadir=/usr/local/mysql/data/bin/mysql_ssl_rsa_setup配置文件cp./support-files/my-default.cnf/etc/my.cnfvim/etc/my.cnf[mysqld]datadir=/usr/local/mysql/data/socket=/var/lib/mysql/mysql.sockuser=mysql#建议禁用symbolic-links以防止各种安全风险symbolic-links=0pid-file=/var/run/mysqld/mysqld.pidlog-error=/var/log/mysqld.log复制MySQL程序到启动目录下cpsupport-files/mysql.server/etc/init.d/mysqld增加只需配置chkconfig--addmysqld创建进程文件目录mkdir/var/run/mysqldchownmysql/var/run/mysqld/-R设置环境变量echo"exportPATH=$PATH:/usr/local/mysql/bin:/usr/local/mysql/sbin">>/etc/profilesource/etc/profile设置启动脚本cd/usr/local/mysqlcpsupport-files/mysql.server/etc/init.d/mysql.serverchkconfigmysql.serveronservicemysql.serverstart就大功告成了!