在Linux系统上快速部署LNMP(Linux, Nginx, MySQL, PHP)环境可以通过以下步骤实现。以下是一个详细的指南,帮助新手一步步搭建起自己的LNMP环境。
sudo apt update && sudo apt upgrade -y # 对于Ubuntu/Debian
sudo yum update # 对于CentOS
sudo apt install build-essential libpcre3 libpcre3-dev zlib1g zlib1g-dev libssl-dev # 对于Ubuntu/Debian
sudo yum groupinstall "development tools" # 对于CentOS
sudo yum install zlib-devel pcre-devel openssl-devel # 对于CentOS
wget http://nginx.org/download/nginx-1.15.8.tar.gz
tar -zxvf nginx-1.15.8.tar.gz -C /usr/local/src/
cd /usr/local/src/nginx-1.15.8
./configure --prefix=/usr/local/nginx --sbin-path=/usr/sbin/nginx --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --pid-path=/var/run/nginx.pid --lock-path=/var/run/nginx.lock --http-client-body-temp-path=/var/tmp/nginx/client --http-proxy-temp-path=/var/tmp/nginx/proxy --http-fastcgi-temp-path=/var/tmp/nginx/fcgi --http-uwsgi-temp-path=/var/tmp/nginx/uwsgi --http-scgi-temp-path=/var/tmp/nginx/scgi --user=nginx --group=nginx --with-pcre --with-http_v2_module --with-http_ssl_module --with-http_realip_module --with-http_addition_module --with-http_sub_module --with-http_dav_module --with-http_flv_module --with-http_mp4_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_random_index_module --with-http_secure_link_module --with-http_stub_status_module --with-http_auth_request_module --with-mail --with-mail_ssl_module --with-file-aio --with-http_v2_module --with-threads --with-stream --with-stream_ssl_module
make && make install
sudo mkdir -p /var/tmp/nginx/client
sudo chown -R nginx:nginx /usr/local/nginx
sudo systemctl start nginx
sudo systemctl enable nginx
wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.39-linux-glibc2.12-x86_64.tar.xz
tar -xvf mysql-8.0.39-linux-glibc2.12-x86_64.tar.xz -C /usr/local/ln -s /usr/local/ln/mysql-8.0.39-linux-glibc2.12-x86_64 /usr/local/ln/mysql
cd /usr/local/ln/mysql
sudo chown -R root:root .
sudo scripts/mysql_install_db --user=root --basedir=/usr/local/ln/mysql --datadir=/usr/local/ln/mysql/data
sudo bin/mysqld_safe --user=root &
sudo systemctl start mariadb
sudo systemctl enable mariadb
sudo mysql_secure_installation
wget https://www.php.net/distributions/php-7.4.21.tar.gz
tar -zxvf php-7.4.21.tar.gz -C /usr/local/php -d php-7.4.21
cd /usr/local/php/php-7.4.21
./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --enable-fpm --with-fpm-user=www-data --with-fpm-group=www-data --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd
make && make install
sudo cp /usr/local/php/etc/php-fpm.d/www.conf /usr/local/php/etc/php-fpm.d/www.conf.orig
sudo nano /usr/local/php/etc/php-fpm.d/www.conf
修改以下行:user = www-data
group = www-data
sudo systemctl start php7.4-fpm
sudo systemctl enable php7.4-fpm
sudo nano /usr/local/nginx/conf/nginx.conf
在 server
块中添加以下内容:location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php7.4-fpm.sock;
}
sudo nginx -t
sudo systemctl restart nginx
echo "<?php phpinfo(); ?>" > /usr/local/nginx/html/info.php
以上步骤提供了一个基本的LNMP环境搭建流程。如果在过程中遇到问题,建议查看相关服务的日志文件以获取更多信息。