首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

linux 源码搭建lnmp

Linux 源码搭建 LNMP(Linux+Nginx+MySQL+PHP)环境是一个常见的服务器配置任务,适用于需要高性能和灵活性的 Web 应用程序。以下是详细步骤和相关概念:

基础概念

  1. Linux:一种开源的操作系统,广泛用于服务器环境。
  2. Nginx:一个高性能的 HTTP 和反向代理服务器,也用作邮件代理服务器。
  3. MySQL:一个流行的关系型数据库管理系统。
  4. PHP:一种广泛使用的开源脚本语言,特别适合 Web 开发。

优势

  • 性能:Nginx 以其高性能和低资源消耗著称。
  • 灵活性:源码安装允许深度定制和优化。
  • 安全性:可以针对具体需求进行安全配置。
  • 可扩展性:易于添加新的服务和模块。

类型

  • 静态网站:仅包含 HTML、CSS 和 JavaScript 文件。
  • 动态网站:使用 PHP 等服务器端脚本语言生成内容。

应用场景

  • Web 应用程序:如论坛、博客、电子商务平台等。
  • API 服务:提供 RESTful 或 GraphQL 接口。
  • 内容管理系统(CMS):如 WordPress、Drupal 等。

搭建步骤

1. 安装必要的依赖

代码语言:txt
复制
sudo apt update
sudo apt install build-essential libpcre3 libpcre3-dev zlib1g zlib1g-dev libssl-dev

2. 下载并编译 Nginx

代码语言:txt
复制
wget http://nginx.org/download/nginx-1.21.3.tar.gz
tar -zxvf nginx-1.21.3.tar.gz
cd nginx-1.21.3
./configure --prefix=/usr/local/nginx
make
sudo make install

3. 安装 MySQL

代码语言:txt
复制
wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.26-linux-glibc2.12-x86_64.tar.xz
tar -xvf mysql-8.0.26-linux-glibc2.12-x86_64.tar.xz -C /usr/local/
ln -s /usr/local/mysql-8.0.26-linux-glibc2.12-x86_64 /usr/local/mysql
cd /usr/local/mysql
sudo chown -R root:root .
sudo scripts/mysql_install_db --user=root
sudo bin/mysqld_safe --user=root &

4. 安装 PHP

代码语言:txt
复制
wget https://www.php.net/distributions/php-7.4.21.tar.gz
tar -zxvf php-7.4.21.tar.gz
cd 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
sudo make install

5. 配置 Nginx 和 PHP-FPM

编辑 Nginx 配置文件 /usr/local/nginx/conf/nginx.conf

代码语言:txt
复制
server {
    listen 80;
    server_name yourdomain.com;

    root /var/www/html;
    index index.php index.html index.htm;

    location / {
        try_files $uri $uri/ =404;
    }

    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/run/php/php7.4-fpm.sock;
    }
}

编辑 PHP-FPM 配置文件 /usr/local/php/etc/php-fpm.d/www.conf

代码语言:txt
复制
user = www-data
group = www-data
listen.owner = www-data
listen.group = www-data
listen = /run/php/php7.4-fpm.sock

6. 启动服务

代码语言:txt
复制
sudo /usr/local/nginx/sbin/nginx
sudo /usr/local/php/sbin/php-fpm

常见问题及解决方法

1. Nginx 无法启动

原因:可能是端口被占用或配置文件错误。

解决方法

  • 检查端口占用情况:sudo netstat -tuln | grep 80
  • 检查 Nginx 配置文件语法:sudo /usr/local/nginx/sbin/nginx -t

2. PHP 文件无法解析

原因:可能是 PHP-FPM 未正确配置或未启动。

解决方法

  • 确保 PHP-FPM 正在运行:sudo ps aux | grep php-fpm
  • 检查 Nginx 配置中的 fastcgi_pass 路径是否正确。

3. MySQL 连接问题

原因:可能是权限设置错误或服务未启动。

解决方法

  • 确保 MySQL 服务正在运行:sudo systemctl status mysql
  • 检查用户权限:mysql -u root -p,然后执行 SHOW GRANTS FOR 'root'@'localhost';

通过以上步骤,你应该能够成功搭建一个 LNMP 环境。如果在过程中遇到其他问题,建议查看相关日志文件以获取更多信息。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • centos搭建lnmp

    在centos上面搭建当今性能相对较好的一套服务器环境LNMP。即:Linux + Nginx + MySQL + Php 。...所以,在现在网站会面临这种大并发量的时候,使用Nginx 来作为服务器程序确实是一个不错的选择,不过如果使用LAMP环境的话,对于php的执行过程是使用mod-php这样的一个apache 模块,但使用LNMP...首先上Nginx 的官网http://nginx.org 右侧的download页面下载所需要的Nginx的源码包,注意选择linux下的stable版本,如下图: 执行了..../nginx -v 检查配置文件是否正确:/nginx -t 编译安装php 首先还是同样的上 http://php.net 官网下载php的源码包,然后移动到/usr/local/目录下进行解压...c选项 注意, nginx 服务器负责所有的客户端请求, 包括了静态网页解析 (html), 页面中的其他对象如 ccs文件jpg png文件等传输, 但遇到客户需要请求 php 页面请求或 php 源码解析时

    1.4K21

    搭建 LNMP 网站服务环境教程

    LNMP指的是一个基于CentOS/Debian编写的Nginx、PHP、MySQL一键安装包。可以在VPS、独立主机上轻松的安装LNMP生产环境。...LNMP代表的就是:Linux系统下Nginx+MySQL+PHP这种网站服务器架构。 Linux是一类Unix计算机操作系统的统称,是目前最流行的免费操作系统。...本文将教你在腾讯云CVM服务器上搭建LNMP网站服务环境。...总结 这篇文章中,我们学会了搭建LNMP网站服务环境。通过这个环境,你可以部署很多基于PHP语言的网站,如果你想搭建WordPress博客或Discuz!...论坛,可以参考如何搭建 WordPress 博客和如何快速搭建 Discuz! 论坛这两篇文章。 当然,搭建LNMP过程中难免会遇到一些莫名其妙的问题,在这里我总结几点,希望对你有帮助。

    1.8K00

    搭建 LNMP 网站服务环境教程

    LNMP指的是一个基于CentOS/Debian编写的Nginx、PHP、MySQL一键安装包。可以在VPS、独立主机上轻松的安装LNMP生产环境。...LNMP代表的就是:Linux系统下Nginx+MySQL+PHP这种网站服务器架构。 Linux是一类Unix计算机操作系统的统称,是目前最流行的免费操作系统。...本文将教你在腾讯云CVM服务器上搭建LNMP网站服务环境。...总结 这篇文章中,我们学会了搭建LNMP网站服务环境。通过这个环境,你可以部署很多基于PHP语言的网站,如果你想搭建WordPress博客或Discuz!...论坛,可以参考如何搭建 WordPress 博客和如何快速搭建 Discuz! 论坛这两篇文章。 当然,搭建LNMP过程中难免会遇到一些莫名其妙的问题,在这里我总结几点,希望对你有帮助。

    2.3K40

    如何搭建 LNMP 网站服务环境

    LNMP指的是一个基于CentOS/Debian编写的Nginx、PHP、MySQL一键安装包。可以在VPS、独立主机上轻松的安装LNMP生产环境。...LNMP代表的就是:Linux系统下Nginx+MySQL+PHP这种网站服务器架构。 Linux是一类Unix计算机操作系统的统称,是目前最流行的免费操作系统。...本文将教你在腾讯云CVM服务器上搭建LNMP网站服务环境。...1539926316350.png 总结 这篇文章中,我们学会了搭建LNMP网站服务环境。通过这个环境,你可以部署很多基于PHP语言的网站,如果你想搭建WordPress博客或Discuz!...论坛,可以参考如何搭建 WordPress 博客和如何快速搭建 Discuz! 论坛这两篇文章。 当然,搭建LNMP过程中难免会遇到一些莫名其妙的问题,在这里我总结几点,希望对你有帮助。

    4.2K166

    LNMP+FastCGI平台搭建脚本

    本脚本主要介绍LNMP+FastCGI平台的搭建脚本,需要准备的安装包如下: cmake-2.8.10.2.tar.gz libevent-2.0.21-stable.tar.gz libmcrypt-...)     installnginx     installmysql     installphp ;; *)     echo "本脚本可安装nginx、mysql、php以及整体搭建lnmp平台,...例如:sh nginx.sh lnmp";; esac 该脚本使用时可以给脚本添加执行权限: chmod +x lnmp.sh 此时直接使用..../lnmp.sh 安装部分 即可执行安装,注意,此脚本需要指定要安装的部分,比如要安装mysql,则在执行时候输入./lnmp.sh mysql。 若在一台裸机上安装lnmp平台,则可以使用..../lnmp.sh lnmp来全部搭建lnmp平台。 由于我们在安装时可能多次执行脚本,所以我们可以将脚本中使用yum安装部分单独保存为一个脚本,或者封装为一个函数,在脚本后添加一个case来调用。

    28820
    领券