如何在Ubuntu上部署PHP应用服务器
如何在Ubuntu上部署PHP应用服务器
在Ubuntu上部署PHP应用服务器通常采用**LNMP(Linux+Nginx+MySQL+PHP)**架构,以下是详细步骤:
1. 更新系统包
首先确保系统软件包为最新版本,避免兼容性问题:
sudo apt update &
&
sudo apt upgrade -y
2. 安装Nginx Web服务器
Nginx作为高性能HTTP服务器,负责处理静态请求和反向代理:
sudo apt install nginx -y
安装完成后,通过浏览器访问服务器IP地址,若看到Nginx默认欢迎页面,则说明安装成功。
3. 安装MySQL数据库(可选,如应用需要)
若应用需要数据库支持(如WordPress、Laravel),安装MySQL:
sudo apt install mysql-server -y
运行安全脚本强化MySQL配置(设置root密码、移除匿名用户、禁止远程root登录等):
sudo mysql_secure_installation
4. 安装PHP及必要扩展
PHP-FPM(FastCGI进程管理器)是PHP的高性能处理方案,需安装PHP核心及常用扩展(如MySQL、PDO):
sudo apt install php-fpm php-mysql php-cli php-curl php-gd php-mbstring -y
启动PHP-FPM并设置开机自启:
sudo systemctl start php-fpm &
&
sudo systemctl enable php-fpm
5. 配置Nginx支持PHP
编辑Nginx默认站点配置文件(或创建新配置文件,如/etc/nginx/sites-available/yourapp
):
sudo nano /etc/nginx/sites-available/default
在server
块中添加以下内容,确保Nginx能处理PHP请求:
server {
listen 80;
server_name yourdomain.com;
# 替换为你的域名或IP
root /var/www/html;
# 应用根目录(可自定义)
index index.php index.html;
location / {
try_files $uri $uri/ =404;
# 尝试匹配文件,不存在则返回404
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
# 引入FastCGI配置
fastcgi_pass unix:/run/php/php-fpm.sock;
# 与PHP-FPM通信(默认Unix套接字)
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
# 传递脚本路径
include fastcgi_params;
# 包含通用FastCGI参数
}
location ~ /\.ht {
deny all;
# 禁止访问.htaccess文件(Apache遗留配置)
}
}
测试Nginx配置语法是否正确:
sudo nginx -t
若无错误,重新加载Nginx使配置生效:
sudo systemctl reload nginx
6. 部署PHP应用
将应用文件上传至Nginx根目录(如/var/www/html
),可使用scp
、rsync
或FTP工具:
scp -r /local/path/to/your/app user@your_server_ip:/var/www/html
设置正确的文件权限,确保Nginx(www-data
用户)能读取应用文件:
sudo chown -R www-data:www-data /var/www/html
sudo find /var/www/html -type d -exec chmod 755 {
}
\;
# 目录权限755
sudo find /var/www/html -type f -exec chmod 644 {
}
\;
# 文件权限644
7. 测试PHP运行
在应用根目录创建info.php
测试文件,验证PHP是否正常工作:
sudo nano /var/www/html/info.php
添加以下内容:
<
?php
phpinfo();
?>
保存后,在浏览器访问http://your_server_ip/info.php
,若看到PHP信息页面,则说明部署成功。
8. 可选优化
- 配置HTTPS:使用Certbot免费获取SSL证书,启用HTTPS加密:
按提示操作,Certbot会自动修改Nginx配置以支持HTTPS。sudo apt install certbot python3-certbot-nginx -y sudo certbot --nginx -d yourdomain.com -d www.yourdomain.com
- 防火墙设置:使用UFW允许HTTP(80)和HTTPS(443)流量:
sudo apt install ufw -y sudo ufw allow 'Nginx Full' sudo ufw enable
- 数据库配置:若应用需要数据库,登录MySQL创建数据库和用户,并授权权限:
在MySQL shell中执行:sudo mysql -u root -p
然后在应用配置文件(如CREATE DATABASE your_app_db; CREATE USER 'your_app_user'@'localhost' IDENTIFIED BY 'strong_password'; GRANT ALL PRIVILEGES ON your_app_db.* TO 'your_app_user'@'localhost'; FLUSH PRIVILEGES; EXIT;
.env
)中填写数据库连接信息。
通过以上步骤,你已在Ubuntu上成功部署PHP应用服务器。可根据应用需求调整配置(如PHP版本、扩展、数据库设置等)。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: 如何在Ubuntu上部署PHP应用服务器
本文地址: https://pptw.com/jishu/719909.html