CentOS编译安装LNMP详细教程

  • 本文目录导读:
  • 前言
  • 安装前的准备工作
  • 安装Nginx
  • 安装MySQL
  • 安装PHP
  • 配置Nginx
  • 前言

    LINUX一直以来都是开源社区中的一颗明珠,其中CentOS作为企业级的LINUX系统,深受广大企业用户的青睐。而LNMP则是常用的WEB开发环境,包含了Linux、Nginx、MySQL和PHP等软件。本文将详细介绍CentOS如何编译安装LNMP环境。

    安装前的准备工作

    在开始安装之前,我们需要做一些准备工作:

    1. 确认CentOS系统版本为7.x或8.x,并已经安装了一些必要的软件包,如gcc、make、wget等。

    2. 下载并解压安装包,我们可以从官网下载Nginx、MySQL和PHP的源码包,也可以使用已经编译好的软件包。

    安装Nginx

    1. 安装依赖包

    首先需要安装一些依赖包,可以使用yum命令进行安装:

    ```

    yum -y install gcc gcc-c++ autoconf automake make

    yum -y install zlib zlib-devel openssl openssl-devel pcre pcre-devel

    2. 下载并解压Nginx安装包

    从Nginx官网下载最新版的源码包,使用wget命令进行下载:

    wget -1.20.1.tar.gz

    下载完成后,使用tar命令解压文件:

    tar zxvf nginx-1.20.1.tar.gz

    3. 编译安装Nginx

    切换到解压后的Nginx目录下,执行以下命令进行编译和安装:

    cd nginx-1.20.1

    ./configure --prefix=/usr/local/nginx --with-http_ssl_module

    make && make install

    --prefix参数指定了Nginx的安装路径,--with-http_ssl_module参数启用了SSL模块。

    4. 启动Nginx

    执行以下命令启动Nginx:

    /usr/local/nginx/sbin/nginx

    可以使用ps命令查看Nginx进程是否启动:

    ps -ef | grep nginx

    安装MySQL

    2. 下载并解压MySQL安装包

    从MySQL官网下载最新版的源码包,使用wget命令进行下载:

    wget -8.0/mysql-8.0.26.tar.gz

    tar zxvf mysql-8.0.26.tar.gz

    3. 编译安装MySQL

    切换到解压后的MySQL目录下,执行以下命令进行编译和安装:

    cd mysql-8.0.26

    cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/usr/local/mysql/data -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_PARTITION_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DENABLED_LOCAL_INFILE=1 -DWITH_BOOST=/usr/local/boost

    --prefix参数指定了MySQL的安装路径,--datadir参数指定了MySQL的数据目录,-DWITH_XXX_STORAGE_ENGINE参数启用了各种存储引擎,-DENABLED_LOCAL_INFILE参数启用了LOAD DATA LOCAL INFILE功能,-DWITH_BOOST参数指定了Boost库的路径。

    4. 配置MySQL

    执行以下命令进行MySQL的初始化:

    cd /usr/local/mysql

    bin/mysqld --initialize-insecure --user=mysql

    然后执行以下命令启动MySQL:

    bin/mysqld_safe --user=mysql &

    可以使用mysql命令登录MySQL:

    bin/mysql -u root

    安装PHP

    yum -y install libxml2 libxml2-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libmcrypt libmcrypt-devel libxslt libxslt-devel

    2. 下载并解压PHP安装包

    从PHP官网下载最新版的源码包,使用wget命令进行下载:

    wget -7.4.22.tar.gz

    tar zxvf php-7.4.22.tar.gz

    3. 编译安装PHP

    切换到解压后的PHP目录下,执行以下命令进行编译和安装:

    cd php-7.4.22

    ./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --enable-fpm --with-fpm-user=nginx --with-fpm-group=nginx --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-iconv-dir --with-freetype --with-jpeg --with-zlib --with-libxml-dir=/usr --with-gettext --with-xmlrpc --with-xsl --with-mcrypt --with-gd --enable-soap --enable-mbstring --enable-sockets --enable-exif --enable-bcmath --enable-opcache --with-openssl --with-curl

    --prefix参数指定了PHP的安装路径,--with-config-file-path参数指定了PHP的配置文件路径,--enable-fpm参数启用了PHP-FPM,--with-fpm-user参数指定了PHP-FPM的运行用户,--with-fpm-group参数指定了PHP-FPM的运行用户组,--with_XXX参数启用了各种功能模块。

    4. 配置PHP

    在PHP安装目录下,复制php.ini-development文件为php.ini:

    cp php.ini-development /usr/local/php/etc/php.ini

    然后修改php.ini文件,启用需要的PHP模块。

    5. 启动PHP-FPM

    执行以下命令启动PHP-FPM:

    /usr/local/php/sbin/php-fpm

    配置Nginx

    1. 配置Nginx

    在Nginx的配置文件中,添加以下内容:

    server {

    listen 80;

    server_name localhost;

    root /var/www/html;

    index index.php index.html index.htm;

    location ~ \.php$ {

    fastcgi_pass 127.0.0.1:9000;

    fastcgi_index index.php;

    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

    include fastcgi_params;

    }

    }