资讯专栏INFORMATION COLUMN

Centos7 系统下 编译安装LNMP环境

qingshanli1988 / 2819人阅读

摘要:我使用的是私有云的服务器位的版本本文中需要的相关软件链接地址链接密码安装首先安装的依赖如果中途询问我们是否安装我们按并回车安装下面安装在家目录下创建一个目录可以使用切换到用户的家目录将我们需要的所有软件包上传到服务器目录中上传完成后

我使用的是私有云的服务器 Centos7 64位的版本
本文中需要的相关软件链接地址
链接:https://pan.baidu.com/s/1RNAX... 密码:1goh

安装nginx

首先安装nginx的依赖

</>复制代码

  1. yum install gcc gcc-c++ openssl openssl-devel cyrus-sasl-md5

如果中途询问我们是否安装 我们按 “y” 并回车安装

下面安装nginx

在root家目录下创建一个software目录 (可以使用 cd ~切换到用户的家目录)
将我们需要的所有软件包上传到服务器software目录中
上传完成后对文件进行解压

</>复制代码

  1. tar -zxvf nginx-1.14.0.tar.gz

下面进入到nginx解压后的目录并进行编译,我们将nginx安装到/usr/local/nginx目录下

</>复制代码

  1. ./configure --prefix=/usr/local/nginx --with-http_ssl_module --with-pcre=../pcre-8.39 --with-zlib=../zlib-1.2.8

执行

</>复制代码

  1. make && make install

进行安装
启动nginx

</>复制代码

  1. /usr/local/nginx/sbin/nginx

查看系统进程nginx是否成功启动

</>复制代码

  1. ps -ef | grep nginx

nginx加入到开机自动启动

到这里我们的nginx还没有实现开机自动启动 那么我们就把他加入到开机自动启动服务中!

我们先编辑系统启动脚本

</>复制代码

  1. vim /etc/rc.local

这个文件是系统启动后会自动执行的,我们就将启动命令加入到这个文件中
我们可以按i 进入到编辑模式 插入对应的程序启动命令即可

</>复制代码

  1. /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf &

随后我们:wq保存文件并退出,使用 init 6重启系统
重启后我们连接到服务器上使用

</>复制代码

  1. ps -e | grep nginx

查看nginx的进程发现已经成功的启动了

如果你发现你的进程没有成功的启动可能是因为你的这个脚本文件没有可以执行的权限 请给该文件增加 其他人可以执行的权限

</>复制代码

  1. chmod o+x /etc/rc.local

后重启再次查看

我们将nginx的位置加入到环境变量中

</>复制代码

  1. vim /etc/profile

编辑环境变量文件,加入如下内容

</>复制代码

  1. export PATH="$PATH:/usr/local/nginx/sbin:"

随后我们更新环境变量 并使用命令再次重启nginx

</>复制代码

  1. source /etc/profile && nginx -s reload

2.编译安装PHP-FPM
首先安装必要的软件依赖

</>复制代码

  1. yum install gcc gcc-c++ libxml2 libxml2-devel autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel

中途会有提示询问是否安装 按y继续安装
安装完成后我们去软件目录解压文件

</>复制代码

  1. tar -zxvf php-7.2.5.tar.gz

进入PHP解压后的目录

</>复制代码

  1. cd php-7.2.5/

编译

</>复制代码

  1. ./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/lib64

安装

</>复制代码

  1. make && make install

先对它进行一些配置,到php-fpm的安装目录etc下复制一份配置文件

</>复制代码

  1. cp php-fpm.conf.default php-fpm.conf

随后我们编辑这个配置文件

</>复制代码

  1. cd php-fpm.d
  2. cp www.conf.default www.conf


这些都设置好之后我们可以保存退出:wq

创建了对应的用户 系统会默认为我们创建一个同名的用户组,启动php-fpm后查看进程就已经启动成功了

</>复制代码

  1. useradd php
  2. /usr/local/php-fpm/sbin/php-fpm
  3. ps -ef | grep php

3.安装mysql 8.0.11

环境准备

</>复制代码

  1. yum install ncurses-devel -y
  2. yum install libaio -y
  3. yum install glibc-devel.i686 glibc-devel -y
  4. yum install gcc gcc-c++ -y

另外,MySQL8.0需要用gcc的版本为 4.8以上,而centos 6.4通过yum只能安装到4.4.7,所以在安装mysql8.0之前需要手动安装更高版本的gcc,我这里以gcc-8.8.2为例:

</>复制代码

  1. wget ftp://ftp.gnu.org/gnu/gcc/gcc-4.8.2/gcc-4.8.2.tar.gz
  2. tar xf gcc-4.8.2.tar.gz
  3. cd gcc-4.8.2

编译依赖包

</>复制代码

  1. ./configure --prefix=/usr/local/gcc-4.8.2/ --enable-bootstrap --enable-threads=posix --enable-languages=c,c++,objc,obj-c++

如果遇到报错

</>复制代码

  1. configure: error: Building GCC requires GMP 4.2+, MPFR 2.4.0+ and MPC 0.8.0+.

解决办法:
下载安装缺少的依赖项
下载地址:
http://www.multiprecision.org...

可选的直接下载地址:
ftp://gnu.mirror.iweb.com/gmp/gmp-4.3.2.tar.gz
https://gmplib.org/download/g...
https://gmplib.org/download/g...
ftp://gnu.mirror.iweb.com/gmp/gmp-4.2.3.tar.gz
http://www.mpfr.org/mpfr-curr...
http://www.mpfr.org/mpfr-curr...
ftp://ftp.gnu.org/gnu/mpc/mpc-1.0.3.tar.gz
ftp://gnu.mirror.iweb.com/mpc/mpc-1.0.1.tar.gz

安装文档:
https://gmplib.org/manual/Ins...
http://www.mpfr.org/mpfr-curr...

安装实例,比如我安装gmp 4.3.2版本

</>复制代码

  1. wget ftp://gnu.mirror.iweb.com/gmp/gmp-4.3.2.tar.gz
  2. tar -zxvf gmp-4.3.2.tar.gz
  3. cd gmp-4.3.2
  4. ./configure
  5. make && make install

如果安装gcc-4.8.4 make的时候提示以下错误:

</>复制代码

  1. configure: error: cannot compute suffix of object files: cannot compile

解决办法:
我的gmp, mpfr, mpc都是使用默认参数安装的,没指定任何参数,所以直接使用下面的命令设置环境变量就可以了:

</>复制代码

  1. export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib

如果安装时指定了安装目录,使用类似下面的命令:

</>复制代码

  1. export 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不会再报错

</>复制代码

  1. cd gcc-4.8.2
  2. make &&make install

说明:make的时间会很长。
安装完后,还需要将原来的gcc环境用新版本的gcc替换掉,否则mysql在安装时还是用的原来的gcc:

</>复制代码

  1. mv /usr/bin/gcc /usr/bin/gcc447
  2. mv /usr/bin/g++ /usr/bin/g++447
  3. mv /usr/bin/c++ /usr/bin/c++447
  4. mv /usr/bin/cc /usr/bin/cc447
  5. ln -s /usr/local/gcc-4.8.2/bin/gcc /usr/bin/gcc
  6. ln -s /usr/local/gcc-4.8.2/bin/g++ /usr/bin/g++
  7. ln -s /usr/local/gcc-4.8.2/bin/c++ /usr/bin/c++
  8. ln -s /usr/local/gcc-4.8.2/bin/gcc /usr/bin/cc
  9. mv /usr/lib64/libstdc++.so.6 /usr/lib64/libstdc++.so.6.bak
  10. ln -s /usr/local/gcc-4.8.2/lib64/libstdc++.so.6.0.18 /usr/lib64/libstdc++.so.6

解决如下问题:

接着,安装boost库:

</>复制代码

  1. wget -c http://sourceforge.net/projects/ ... oost_1_60_0.tar.bz2 --no-check-certificate
  2. tar xf boost_1_60_0.tar.bz2?r=&ts=1479114685&use_mirror=ncu
  3. cd boost_1_60_0
  4. ./bootstrap.sh
  5. ./b2 stage threading=multi link=shared
  6. ./b2 install threading=multi link=shared

编译安装mysql

</>复制代码

  1. tar -zxvf mysql-8.0.11-el7-x86_64.tar.gz
  2. cd mysql-8.0.0-dmr
  3. cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql
  4. -DMYSQL_DATADIR=/usr/local/mysql/data/ -DSYSCONFDIR=etcmysql
  5. -DWITH_INNOBASE_STORAGE_ENGINE=1
  6. -DMYSQL_TCP_PORT=3306
  7. -DENABLED_LOCAL_INFILE=1
  8. -DEXTRA_CHARSETS=all
  9. -DDEFAULT_CHARSET=utf8
  10. -DDEFAULT_COLLATION=utf8_general_ci
  11. -DWITH_BOOST=/tmp/boost_1_60_0/
  12. make && make install

配置MySQL

新增mysql用户和组,并配置mysql用户对数据库目录的权限

</>复制代码

  1. cd /usr/local/mysql/
  2. groupadd mysql
  3. useradd -r -g mysql mysql
  4. chown mysql.mysql /usr/local/mysql -R

删除默认的配置文件

</>复制代码

  1. rm -f /etc/my.cnf

安装MySQL系统表

</>复制代码

  1. ./scripts/mysql_install_db --user=mysql

初始化mysql

</>复制代码

  1. cd /usr/local/mysql
  2. bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data/
  3. bin/mysql_ssl_rsa_setup

配置文件

</>复制代码

  1. cp ./support-files/my-default.cnf /etc/my.cnf
  2. vim /etc/my.cnf
  3. [mysqld]
  4. datadir=/usr/local/mysql/data/
  5. socket=/var/lib/mysql/mysql.sock
  6. user=mysql
  7. # Disabling symbolic-links is recommended to prevent assorted security risks
  8. symbolic-links=0
  9. pid-file=/var/run/mysqld/mysqld.pid
  10. log-error=/var/log/mysqld.log

将MySQL程序复制到启动目录

</>复制代码

  1. cp support-files/mysql.server /etc/init.d/mysqld

增加配置即可

</>复制代码

  1. chkconfig --add mysqld

创建进程文件目录

</>复制代码

  1. mkdir /var/run/mysqld
  2. chown mysql /var/run/mysqld/ -R

设置环境变量

</>复制代码

  1. echo "export PATH=$PATH:/usr/local/mysql/bin:/usr/local/mysql/sbin" >> /etc/profile
  2. source /etc/profile

设置开机启动脚本

</>复制代码

  1. cd /usr/local/mysql
  2. cp support-files/mysql.server /etc/init.d/mysql.server
  3. chkconfig mysql.server on
  4. service mysql.server start

大功告成!

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/30711.html

相关文章

  • Centos7 系统 编译安装LNMP环境

    摘要:我使用的是私有云的服务器位的版本本文中需要的相关软件链接地址链接密码安装首先安装的依赖如果中途询问我们是否安装我们按并回车安装下面安装在家目录下创建一个目录可以使用切换到用户的家目录将我们需要的所有软件包上传到服务器目录中上传完成后 我使用的是私有云的服务器 Centos7 64位的版本本文中需要的相关软件链接地址 链接:https://pan.baidu.com/s/1RNAX......

    darkbaby123 评论0 收藏0

发表评论

0条评论

qingshanli1988

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<