CentOS 编译安装 LNMP

2023年 8月 8日 71.6k 0

前言

Linux 系统的使用越来越普及,而 CentOS 作为一款稳定且常用的 Linux 发行版,也备受广大用户的喜爱。而 LNMP 则是一组常用的 Web 服务器软件,包括 Linux、Nginx、MySQL 和 PHP 四个软件。本文将介绍如何在 CentOS 系统上编译安装 LNMP。

CentOS 系统的安装

我们需要在计算机上安装 CentOS 系统。可以从官方网站下载 CentOS 的 ISO 镜像文件,然后使用 U 盘或光盘进行安装。

编译安装 Nginx

1. 下载 Nginx 的源码包,可以从官网或 Github 上下载。

2. 解压源码包,进入源码目录,执行以下命令:

```

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

make

make install

这里的 `--prefix` 参数指定了 Nginx 的安装路径,`--with-http_stub_status_module` 参数开启了状态模块,`--with-http_ssl_module` 参数开启了 SSL 支持。

3. 安装完成后,可以使用以下命令启动 Nginx:

/usr/local/nginx/sbin/nginx

可以使用以下命令停止 Nginx:

/usr/local/nginx/sbin/nginx -s stop

编译安装 MySQL

1. 下载 MySQL 的源码包,可以从官网或 Github 上下载。

cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/usr/local/mysql/data -DSYSCONFDIR=/etc

这里的 `CMAKE_INSTALL_PREFIX` 参数指定了 MySQL 的安装路径,`MYSQL_DATADIR` 参数指定了 MySQL 的数据目录,`SYSCONFDIR` 参数指定了 MySQL 的配置文件目录。

3. 安装完成后,可以使用以下命令启动 MySQL:

/usr/local/mysql/bin/mysqld_safe --user=mysql &

可以使用以下命令停止 MySQL:

/usr/local/mysql/bin/mysqladmin -uroot shutdown

编译安装 PHP

1. 下载 PHP 的源码包,可以从官网或 Github 上下载。

./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --with-mysqli=/usr/local/mysql/bin/mysql_config --with-pdo-mysql=/usr/local/mysql --with-openssl --enable-fpm --enable-mbstring --enable-zip --enable-sockets --with-zlib --with-curl

这里的 `--prefix` 参数指定了 PHP 的安装路径,`--with-config-file-path` 参数指定了 PHP 的配置文件路径,`--with-mysqli` 参数指定了 MySQLi 扩展的路径,`--with-pdo-mysql` 参数指定了 PDO MySQL 扩展的路径,`--with-openssl` 参数开启了 SSL 支持,`--enable-fpm` 参数开启了 FastCGI 进程管理器,`--enable-mbstring` 参数开启了多字节字符串支持,`--enable-zip` 参数开启了 ZIP 扩展,`--enable-sockets` 参数开启了 Socket 扩展,`--with-zlib` 参数开启了 Zlib 扩展,`--with-curl` 参数开启了 Curl 扩展。

3. 安装完成后,可以使用以下命令启动 PHP:

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

可以使用以下命令停止 PHP:

/usr/local/php/sbin/php-fpm -s stop

配置 Nginx 和 PHP

1. 编辑 Nginx 的配置文件 `/usr/local/nginx/conf/nginx.conf`,添加以下内容:

server {

listen 80;

server_name localhost;

root /usr/local/nginx/html;

index index.php index.html index.htm;

location / {

try_files $uri $uri/ /index.php?$query_string;

}

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;

}

这里的 `root` 参数指定了 Nginx 的默认页面路径,`location /` 和 `location ~ \.php$` 分别处理了静态页面和 PHP 页面的请求。

2. 编辑 PHP 的配置文件 `/usr/local/php/etc/php.ini`,修改以下参数:

error_reporting = E_ALL & ~E_NOTICE

display_errors = On

date.timezone = Asia/Shanghai

这里的 `error_reporting` 参数指定了 PHP 的错误报告级别,`display_errors` 参数开启了错误显示,`date.timezone` 参数指定了时区。

3. 重启 Nginx 和 PHP:

/usr/local/nginx/sbin/nginx -s reload

/usr/local/php/sbin/php-fpm -s reload

总结

本文介绍了在 CentOS 系统上编译安装 LNMP 的过程,包括 Nginx、MySQL 和 PHP 三个软件的安装和配置。这种方式可以获得更高的性能和更灵活的配置,适用于高性能和高并发的 Web 应用程序。

小知识分享

在 Ubuntu 系统中,可以使用 `history` 命令查看最近使用过的命令历史记录。可以使用 `history | grep 关键词` 进行搜索,也可以使用 `!数字` 执行历史记录中的某个命令。例如:

```

history | grep ls

!123

这里的 `!123` 表示执行历史记录中的第 123 条命令。

TAGS

相关文章

服务器端口转发,带你了解服务器端口转发
服务器开放端口,服务器开放端口的步骤
产品推荐:7月受欢迎AI容器镜像来了,有Qwen系列大模型镜像
如何使用 WinGet 下载 Microsoft Store 应用
百度搜索:蓝易云 – 熟悉ubuntu apt-get命令详解
百度搜索:蓝易云 – 域名解析成功但ping不通解决方案

发布评论