Ubuntu 安装lnmp+nginx 访问 .php文件变成下载

本教程详细介绍了在Ubuntu系统下安装LNMP(Linux+Nginx+MySQL+PHP)的过程,包括更新源、安装Nginx、PHP、MySQL等步骤,解决了常见的安装失败问题,适合新手参考。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

网上安装lnmp的教程很多,但是还是安装失败过好多次,所以自己写了一份教程,本人只是菜鸟,仅供新手参考,大神勿喷。

此教程是Ubuntu下的安装如需CentOS请参考CentOS lnmp安装

安装NGINX

sudo apt-get update#更新源
sudo apt-get install nginx #安装nginx
sudo service nginx start #启动nginx

安装PHP

sudo apt-add-repository ppa:ondrej/php
sudo apt-get update
sudo apt-get install php7.2 php7.2-fpm
php -v #查看版本信息
service php7.2-fpm restart #重启fpm服务

配置nginx

 location ~ \.php$ {
            include snippets/fastcgi-php.conf;
    #
    #       # With php7.0-cgi alone:
            fastcgi_pass 127.0.0.1:9000;
    #       # With php7.0-fpm:
    #       fastcgi_pass unix:/run/php/php7.0-fpm.sock;
    }

如果出现php文件自动下载的问题

netstat -antp


发现没有9000端口被占用。所以说我们要启动9000端口

php-cgi -b 127.0.0.1:9000 &


根据提示 安装

apt-get install php7.2-cgi

安装成功在执行 php-cgi -b 127.0.0.1:9000 &


发现已成功打开9000端口 这时候重启nginx服务

service nginx restart
vim /var/www/html index.php

编辑index.php 输入偏<?php echo phpinfo();?>
打开浏览器 IP地址/index.php 出现如下页面安装成功
在这里插入图片描述
安装mysql

sudo apt-get -y install mysql-server mysql-client php7.2-mysql

期间会让你设置数据库密码 输入即可

在这里插入图片描述
重复密码
在这里插入图片描述
安装完成 按照指令输入设置的密码即可

mysql -u root -p

参考 https://blog.youkuaiyun.com/zzl4511/article/details/70238109
https://www.jianshu.com/p/40a3639050c9

<think>我们需要使用Shell脚本来搭建LNMP环境(Nginx 1.28, MySQL 5.7, PHP 7.4)。由于不同Linux发行版的包管理工具不同,这里以Ubuntu为例。注意:安装过程中需要处理依赖和配置。 步骤: 1. 更新系统 2. 安装Nginx 1.28(默认仓库可能不是最新版本,因此需要添加官方仓库) 3. 安装MySQL 5.7(Ubuntu 20.04默认仓库可能包含5.7版本,但18.04可能包含,若没有则需要添加仓库) 4. 安装PHP 7.4(需要添加第三方仓库,因为Ubuntu默认仓库可能不包含7.4) 注意:由于MySQL 5.7在Ubuntu 22.04中已经不再被默认支持,我们需要从MySQL官方仓库安装。同样,NginxPHP也需要添加相应的仓库。 我们将使用以下步骤: - 添加Nginx官方仓库 - 添加MySQL APT仓库 - 添加PHP PPA(由Ondřej Surý维护) 由于是脚本,需要以root权限运行,并且需要处理交互式安装(如MySQL的root密码设置)的问题。 为了自动化,我们可以在安装MySQL时使用`debconf-set-selections`来预设密码。 以下是脚本的大致步骤: 1. 更新系统并安装必要工具 2. 添加Nginx官方仓库并安装 3. 添加MySQL官方仓库并安装(预设root密码) 4. 添加PHP PPA并安装PHP 7.4及相关扩展 5. 配置Nginx使用PHP处理 6. 启动服务并设置开机启动 注意:由于网络和仓库的化,实际使用时可能需要调整。 下面是一个示例脚本,适用于Ubuntu 20.04(假设是全新系统,并以root用户运行): 注意:MySQL 5.7在Ubuntu 20.04中可以通过添加MySQL官方仓库安装,但需要下载对应的deb包来添加仓库。 由于MySQL 5.7在Ubuntu 22.04中官方仓库已经不提供,所以这里我们以Ubuntu 20.04为例。 如果使用Ubuntu 22.04,可能需要从其他途径安装,但这里为了通用性,我们选择Ubuntu 20.04。 另外,对于PHP 7.4,在Ubuntu 20.04中可以通过ondrej/php仓库安装。 脚本开始:</think>以下是一个使用Shell脚本搭建LNMP环境(Nginx 1.28 + MySQL 5.7 + PHP 7.4)的完整方案: ```bash #!/bin/bash # LNMP自动安装脚本(Ubuntu 20.04/22.04) set -e # 添加必要软件源 add_repositories() { # 添加Nginx官方源 curl -fsSL https://nginx.org/keys/nginx_signing.key | sudo gpg --dearmor -o /usr/share/keyrings/nginx-archive-keyring.gpg echo "deb [signed-by=/usr/share/keyrings/nginx-archive-keyring.gpg] http://nginx.org/packages/ubuntu $(lsb_release -cs) nginx" | sudo tee /etc/apt/sources.list.d/nginx.list # 添加PHP源 LC_ALL=C.UTF-8 add-apt-repository -y ppa:ondrej/php apt-get update -y } # 安装Nginx 1.28 install_nginx() { apt-get install -y nginx=1.28.* systemctl enable nginx echo "Nginx 安装完成,版本: $(nginx -v 2>&1)" } # 安装MySQL 5.7 install_mysql() { # 下载MySQL APT仓库 wget https://dev.mysql.com/get/mysql-apt-config_0.8.28-1_all.deb DEBIAN_FRONTEND=noninteractive dpkg -i mysql-apt-config_0.8.28-1_all.deb # 安装MySQL apt-get update echo "mysql-community-server mysql-community-server/root-pass password root" | debconf-set-selections echo "mysql-community-server mysql-community-server/re-root-pass password root" | debconf-set-selections apt-get install -y mysql-server=5.7.* systemctl enable mysql echo "MySQL 安装完成,版本: $(mysql --version)" } # 安装PHP 7.4 install_php() { apt-get install -y php7.4 php7.4-fpm php7.4-mysql php7.4-cli \ php7.4-curl php7.4-gd php7.4-mbstring php7.4-xml php7.4-zip systemctl enable php7.4-fpm echo "PHP 安装完成,版本: $(php -v | head -n 1)" } # 配置LNMP环境 configure_lnmp() { # 创建网站目录 mkdir -p /var/www/html chown -R www-data:www-data /var/www/html # 配置Nginx支持PHP cat > /etc/nginx/conf.d/default.conf <<EOF server { listen 80; root /var/www/html; index index.php index.html; location / { try_files \$uri \$uri/ =404; } location ~ \.php$ { include fastcgi_params; fastcgi_pass unix:/run/php/php7.4-fpm.sock; fastcgi_param SCRIPT_FILENAME \$document_root\$fastcgi_script_name; } } EOF # 创建PHP测试文件 echo "<?php phpinfo(); ?>" > /var/www/html/index.php # 重启服务 systemctl restart nginx php7.4-fpm mysql } # 主执行流程 main() { [ "$(id -u)" != "0" ] && echo "需要root权限" && exit 1 add_repositories install_nginx install_mysql install_php configure_lnmp echo "LNMP安装完成!访问服务器IP查看PHP信息" echo "MySQL root密码: root" } main ``` ### 使用说明: 1. 保存为`install_lnmp.sh` 2. 添加执行权限:`chmod +x install_lnmp.sh` 3. 执行脚本:`sudo ./install_lnmp.sh` ### 验证安装: 1. Nginx: `http://服务器IP` 2. MySQL: `mysql -u root -proot` 3. PHP: 查看phpinfo页面 ### 关键组件版本控制: - Nginx: 通过`nginx=1.28.*`锁定主版本 - MySQL: 使用官方APT仓库安装5.7.x - PHP: 通过PPA仓库安装7.4系列 ### 注意事项: 1. 脚本仅适用于Ubuntu 20.04/22.04 2. 首次安装前建议`apt update && apt upgrade` 3. MySQL默认root密码为`root`(生产环境需修改) 4. 防火墙需开放80端口
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Mars慕容

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值