前言
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 条命令。