前言
LINUX是一个非常强大的操作系统,而CentOS是其中最为流行的Linux发行版之一。对于Web开发者来说,LNMP环境是必不可少的。本文将介绍如何在CentOS系统下编译安装LNMP环境。
安装前准备
在开始安装之前,需要确保系统已经安装了一些必要的软件包。可以使用以下命令进行安装:
```
yum -y install gcc gcc-c++ make zlib-devel pcre-devel openssl-devel libxml2-devel libjpeg-devel libpng-devel freetype-devel libmcrypt-devel libzip-devel
安装Nginx
首先需要下载Nginx源码包,可以到官网()进行下载。下载完成后,解压源码包并进入目录:
tar -zxvf nginx-1.18.0.tar.gz
cd nginx-1.18.0
然后执行以下命令进行编译和安装:
./configure --prefix=/usr/local/nginx --with-http_ssl_module --with-http_stub_status_module --with-pcre --with-http_gzip_static_module
make && make install
--prefix指定了安装目录,--with-http_ssl_module开启了SSL支持,--with-http_stub_status_module开启了状态查询模块,--with-pcre开启了正则表达式支持,--with-http_gzip_static_module开启了gzip压缩支持。
安装MySQL
MySQL是一款非常流行的关系型数据库,可以到官网()进行下载。下载完成后,解压并进入目录:
tar -zxvf mysql-8.0.21.tar.gz
cd mysql-8.0.21
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 -DENABLED_LOCAL_INFILE=1 -DMYSQL_TCP_PORT=3306 -DWITH_SSL=yes
-DCMAKE_INSTALL_PREFIX指定了安装目录,-DMYSQL_DATADIR指定了数据目录,-DSYSCONFDIR指定了配置文件目录,-DWITH_MYISAM_STORAGE_ENGINE、-DWITH_INNOBASE_STORAGE_ENGINE和-DWITH_MEMORY_STORAGE_ENGINE分别指定了使用的存储引擎,-DWITH_READLINE开启了命令行编辑支持,-DENABLED_LOCAL_INFILE开启了本地文件读取支持,-DMYSQL_TCP_PORT指定了监听的端口,-DWITH_SSL开启了SSL支持。
安装PHP
PHP是一种非常流行的服务器端脚本语言,可以到官网()进行下载。下载完成后,解压并进入目录:
tar -zxvf php-7.4.10.tar.gz
cd php-7.4.10
./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 --enable-xml --disable-rpath --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --with-curl --enable-mbregex --enable-mbstring --enable-intl --with-openssl --with-mhash --enable-pcntl --enable-sockets --with-xmlrpc --enable-soap --with-gettext --disable-fileinfo --enable-opcache --with-imap --with-imap-ssl --with-pear
--prefix指定了安装目录,--with-config-file-path指定了配置文件目录,--enable-fpm开启了FastCGI进程管理器支持,--with-fpm-user和--with-fpm-group指定了运行PHP的用户和用户组,--with-mysqli和--with-pdo-mysql指定了使用的MySQL库,--with-iconv-dir、--with-freetype、--with-jpeg、--with-zlib、--with-libxml-dir、--with-curl、--with-mhash、--with-openssl、--with-xmlrpc、--with-gettext和--with-imap分别指定了一些依赖库和扩展,--enable-xxx开启了一些编译选项。
配置LNMP环境
安装完成后,需要进行一些配置。需要将Nginx和PHP的配置文件复制到相应的目录:
cp /usr/local/nginx/conf/nginx.conf /usr/local/nginx/conf/nginx.conf.bak
cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf
cp /usr/local/php/etc/php-fpm.d/www.conf.default /usr/local/php/etc/php-fpm.d/www.conf
需要修改Nginx的配置文件,将PHP解析的配置添加到server段中:
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;
}
需要启动Nginx和PHP-FPM:
/usr/local/nginx/sbin/nginx
/usr/local/php/sbin/php-fpm
总结
通过本文的介绍,我们学习了如何在CentOS系统下编译安装LNMP环境,并进行了相应的配置。我们就可以在自己的服务器上运行Web应用程序了。
小知识分享
在Ubuntu系统下,可以使用Ctrl + Alt + T快捷键打开终端。