当前位置:首页 > 虚拟主机 > 正文

nginx虚拟主机上传tp5

TP5项目打包,用SCP/SF TP上传至Nginx虚拟主机对应目录,解压后配置 虚拟主机指向public目录

前期准备

  1. 确认服务器环境:确保服务器已安装PHP、MySQL/MariaDB以及Nginx,可使用包管理工具如Yum或Apt进行安装,检查是否安装了TP5所需的PHP扩展(例如PDO、CURL)。
  2. 打包项目文件:将本地开发的TP5项目文件夹压缩为zip或tar.gz格式,方便后续上传,推荐使用WinRAR、7-Zip等工具完成此操作。

上传与解压

  1. 连接服务器:通过SSH工具(如PuTTY、MobaXterm)登录服务器,输入IP地址、端口号及账号密码建立安全连接。
  2. 传输文件:采用SCP或SFTP命令将打包好的项目文件上传至目标路径,示例命令如下:
    scp /path/to/your/project.zip [username]@[server-address]:/path/to/destination/
  3. 解压文件:在服务器端执行相应命令释放压缩包内容:
    • 若为ZIP格式:unzip /path/to/your/project.zip -d /path/to/destination/
    • 若为TAR.GZ格式:tar -zxvf /path/to/your/project.tar.gz -C /path/to/destination/

Nginx虚拟主机配置

  1. 编辑配置文件:打开Nginx的主配置文件(通常位于/etc/nginx/nginx.conf),添加一个新的server块用于定义虚拟主机,基本结构如下:

    server {
        listen 80;             # 监听端口,可根据需求更改
        server_name example.com; # 绑定的域名
        root /home/wwwroot/default/tp5/public; # 指向项目的public目录
        index index.html index.htm index.php;
        location / {
            try_files $uri $uri/ /index.php?$query_string;
            if (!-e $request_filename) {
                rewrite ^/(.)$ /index.php/$1 last;
            }
        }
        location ~ .php$ {
            fastcgi_pass unix:/var/run/php/php7.4-fpm.sock; # 根据实际PHP版本调整
            fastcgi_index index.php;
            include fastcgi_params;
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
            fastcgi_param PATH_INFO $fastcgi_path_info;
        }
    }
  2. 设置权限:确保项目目录及其子文件具有合适的读写权限,一般设置为所有者拥有者读、写、执行权限755,普通用户读、写权限644,可通过chmod命令实现。

    nginx虚拟主机上传tp5  第1张

  3. 重启服务:保存配置后,重新启动Nginx使改动生效,命令为sudo systemctl restart nginx

项目部署与测试

步骤 操作描述 命令示例 备注
进入项目根目录 切换至解压后的TP5项目所在路径 cd /path/to/your/project
安装依赖库 使用Composer安装项目所需的第三方库 composer install 首次部署时必需
优化自动加载 生成自动加载文件以提高性能 php think optimize:autoload
优化路由缓存 预编译路由规则加快响应速度 php think optimize:route
执行数据库迁移 创建数据表结构 php think migrate:run 需提前创建好数据库
填充初始数据 插入测试或默认数据集 php think seeder:run 可选步骤
访问验证 通过浏览器检查站点可用性 输入绑定的域名或IP地址 若能正常显示首页则表示成功

常见问题与解答

  1. :为什么TP5项目在Nginx下出现404错误?
    :可能是由于URL重写规则未正确配置,请检查Nginx配置文件中的location /部分是否包含try_files指令和正确的重写逻辑,确认root指令是否指向了项目的public目录,并且文件权限设置正确。

  2. :如何确保静态资源(如CSS、JS)能被正确加载?
    :在Nginx配置中,应确保静态资源的MIME类型被识别,并设置合理的缓存策略,可以在location ~ ..(gif|jpg|jpeg|png|css|js)$下添加expires指令来控制浏览器缓存行为,注意在TP5模板中引用静态资源时使用

0