LNMP 是 Linux、Nginx、MySQL 和 PHP 的组合,是一种流行的 Web 服务环境。以下是如何在一个典型的 Linux 系统(如 Ubuntu 或 CentOS)上编译安装 LNMP 环境的详细步骤:
1. 准备工作
确保你的系统是最新的,并安装一些必要的工具和库。
# 对于 Ubuntu/Debian
sudo apt update
sudo apt install build-essential libssl-dev libpcre3 libpcre3-dev zlib1g-dev unzip
# 对于 CentOS/RHEL
sudo yum update
sudo yum groupinstall "Development Tools"
sudo yum install pcre-devel zlib-devel openssl-devel wget
2. 安装 Nginx
-
下载 Nginx 源码:
cd /usr/local/src wget http://nginx.org/download/nginx-1.22.0.tar.gz # 请根据需要更改版本号 tar -zxvf nginx-1.22.0.tar.gz cd nginx-1.22.0
-
编译和安装:
./configure --prefix=/usr/local/nginx --with-http_ssl_module --with-pcre make && sudo make install
-
启动 Nginx:
sudo /usr/local/nginx/sbin/nginx
-
检查是否正常运行:
在浏览器中访问
http://your_server_ip/
,应该看到 Nginx 的欢迎页面。
3. 安装 MySQL
-
下载 MySQL 源码:
cd /usr/local/src wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.x.tar.gz # 请根据需要更改版本号 tar -zxvf mysql-8.0.x.tar.gz cd mysql-8.0.x/
-
创建用户和目录:
sudo useradd -r -s /bin/false mysql mkdir /data/mysql chown mysql:mysql /data/mysql
-
编译和安装:
cmake . -DDOWNLOAD_BOOST=1 -DWITH_BOOST=./boost/ \ -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ -DMYSQL_DATADIR=/data/mysql/data \ -DDEFAULT_CHARSET=utf8mb4 \ -DDEFAULT_COLLATION=utf8mb4_general_ci make && sudo make install
-
初始化数据库并启动 MySQL:
sudo cp support-files/my-default.cnf /etc/my.cnf sudo bin/mysqld --initialize-insecure --user=mysql --datadir=/data/mysql/data sudo cp support-files/mysql.server /etc/init.d/mysql sudo service mysql start
-
设置 root 密码并登录 MySQL:
/usr/local/mysql/bin/mysql_secure_installation # 按照提示设置密码并进行安全配置。 # 登录: /usr/local/mysql/bin/mysql -u root -p
4. 安装 PHP
-
下载 PHP 源码:
cd /usr/local/src wget https://www.php.net/distributions/php-8.x.x.tar.gz # 请根据需要更改版本号 tar -zxvf php-8.x.x.tar.gz cd php-8.x.x
-
编译和安装 PHP-FPM 与必要模块:
./configure --prefix=/usr/local/php \
--with-config-file-path=/usr/local/php \
--enable-fpm \
--with-mysqli=/usr/local/mysql/bin/mysqli_config \
--with-pdo-mysql=mysqlnd \
--enable-mbstring \
--with-openssl
make && sudo make install
# 启动 php-fpm:
sudo cp sapi/fpm/php-fpm.conf /usr/local/php/etc/
sudo cp sapi/fpm/www.conf.in sapi/fpm/www.conf
/usr/local/php/sbin/php-fpm
5. 配置 Nginx 支持 PHP
修改 /usr/local/nginx/conf/nginx.conf
文件,在 server
块中添加如下配置,以支持 .php
文件。
location ~ \.(php)$ {
include fastcgi_params;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
index index.html index.htm index.php;
重启 Nginx。
sudo /usr/local/nginx/sbin/nginx -s reload
6. 测试 LNMP 环境
在 /var/www/html
下创建一个 info.php
文件,内容如下:
<?php phpinfo(); ?>
然后在浏览器中访问 http://your_server_ip/info.php
,如果看到 PHP 信息页面,则表示 LNMP 环境成功搭建完成!
资料参考:https://github.com/0voice