您的位置:首页 >如何在Ubuntu上使用LNMP运行PHP项目
发布于2026-04-24 阅读(0)
扫一扫,手机访问

万事开头先打基础。以主流的 Ubuntu 20.04/22.04/24.04 为例,系统仓库通常提供 PHP 8.1/8.2/8.3 等版本。咱们先从最核心的组件装起。
sudo apt updatesudo apt install -y nginx mysql-server php-fpm php-mysqlsudo systemctl enable --now nginx mysql php-fpmsudo mysql_secure_installationsudo add-apt-repository ppa:ondrej/phpsudo apt updatesudo apt install -y php8.1 php8.1-fpm php8.1-mysql php8.1-{mbstring,xml,zip,gd,curl,intl,opcache}组件齐了,接下来就是让它们“认识”并协同工作。这一步配置对了,项目就跑起来一半。
sudo nano /etc/nginx/sites-a vailable/your_projectserver {
listen 80;
server_name your_domain_or_ip;
root /var/www/your_project/public;
index index.php index.html index.htm;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/phpX.X-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
location ~ /\.ht {
deny all;
}
}
sudo ln -s /etc/nginx/sites-a vailable/your_project /etc/nginx/sites-enabled/sudo nginx -t && sudo systemctl reload nginx/etc/php/8.1/fpm/pool.d/www.conf
listen.owner = www-datalisten.group = www-datalisten.mode = 0660sudo systemctl restart php8.1-fpmsudo chown -R www-data:www-data /var/www/your_projectsudo find /var/www/your_project -type f -exec chmod 644 {} \;sudo find /var/www/your_project -type d -exec chmod 755 {} \;环境就绪,是时候把数据和代码放进去了。数据库和应用配置是项目运行的“大脑”和“躯体”。
CREATE DATABASE your_database CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;CREATE USER ‘your_user’@‘localhost’ IDENTIFIED BY ‘StrongPassword!’;GRANT ALL PRIVILEGES ON your_database.* TO ‘your_user’@‘localhost’;FLUSH PRIVILEGES;EXIT;mysql -u your_user -p your_database < your_database_dump.sql/var/www/your_project(框架如 Lara vel 应将入口置于 public/,并设置 .env 数据库连接)部署完成,先别急着庆祝,跑个测试看看。遇到问题也别慌,大部分都有迹可循。
/var/www/html/info.php 写入:http://your_domain_or_ip/info.php,确认 PHP 解析正常systemctl status php8.1-fpm 查看,核对 socket 路径(/var/run/php/php8.1-fpm.sock 或 /run/php/php8.1-fpm.sock)try_files $uri $uri/ /index.php?$query_string;/var/log/nginx/error.log/var/log/php8.1-fpm.log(或 /var/log/php-fpm.log,视版本与系统而定)项目能跑只是第一步,跑得稳、跑得安全才是长久之计。这里有几个关键点值得注意。
sudo apt install -y certbot python3-certbot-nginxsudo certbot --nginx -d your_domainsudo ufw allow ‘Nginx Full’sudo ufw enabledate.timezone = Asia/Shanghaiopcache.enable=1opcache.memory_consumption=128opcache.interned_strings_buffer=8opcache.max_accelerated_files=4000sudo apt update && sudo apt upgrade
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
7
9