cents+nginx配置thinkphp站点

634

上文记录了centos下安装php8.2的方法,本文记录如何配置thinkphp站点

1、进入nginx站点配置文件目录,一般是conf.d,或者web.conf,具体可以看nginx.conf里包含的文件夹

2、新建配置文件tp.conf,键入参考内容

# /etc/nginx/conf.d/tp.conf

server {

    listen 9080;

    server_name  127.0.0.1;          # ← 改成你的域名

    root  /home/www/tp/public;          # ← 改成 tp/public 绝对路径

    index index.php;


    # 日志(可选),如果目录不存在就新建

    access_log /var/log/nginx/tp.access.log;

    error_log  /var/log/nginx/tp.error.log;


    # 1. 隐藏 index.php 并支持 PATH_INFO

    location / {

        try_files $uri $uri/ /index.php$is_args$query_string;

    }


    # 2. 处理 PHP

    location ~ \.php$ {

        include        fastcgi_params;

        fastcgi_pass   127.0.0.1:9000;  # ← PHP-FPM 监听地址

        fastcgi_index  index.php;

        fastcgi_param  SCRIPT_FILENAME $document_root$fastcgi_script_name;        

    }


    # 3. 禁止访问敏感目录

    location ~* /\.(env|git|svn) { deny all; }

    location ~* ^/(runtime|upload|vendor)/.*\.php$ { return 403; }


    # 4. 静态资源缓存(可选)

    location ~* \.(js|css|png|jpg|gif|ico|svg|woff|woff2)$ {

        expires 30d;

        add_header Cache-Control "public";

    }

}

保存并退出

2、上传thinkphp文件到目录/home/www/tp

3、重载nginx配置:nginx -t && nginx -s reload

4、访问:curl http://127.0.0.1

问题集合
查看站点错误日志:

tail -n 50 /var/log/nginx/tp.error.log

A、报错file not found,
确认tp目录正确,授予目录权限:chown -R nobody:nobody /home/www/tp

这里nobody是nginx的启动用户/组

# runtime 目录必须可写

chmod -R 775 /home/www/tp/runtime

# 如果有上传目录

chmod -R 775 /home/www/tp/public/upload

--------------------

SELinux(若开启)

# 给目录打 httpd 可读标签

chcon -R -t httpd_sys_content_t /home/www/tp

# 给可写目录额外标签

chcon -R -t httpd_sys_rw_content_t /home/www/tp/runtime

chcon -R -t httpd_sys_rw_content_t /home/www/tp/public/upload


4、重载服务

systemctl reload php-fpm

systemctl reload nginx


5、打开端口宿机访问,我是在虚拟机下操作的,所以要打开虚拟机防火墙端口

firewall-cmd --permanent --add-port=9080/tcp

firewall-cmd --reload




Layer弹出确认框的使用方法

Layer是一个流行的Web弹层组件,可以方便地创建各种弹出框,包括确认框。以下是使用Layer创建确认框的几种方式:...

php求两个数组的差集

要计算两个数组的差集,即找出在第一个数组中存在但在第二个数组中不存在的元素。...

无人货架批量大规模上架商品解决方案

架构设计之初未考虑到业务需要批量上架商品,几万个逐一生成货架商品需要耗费大量人力,而货架商品的结构数量都一样。...

物业小区无人销售智能货架方案

小区无人值守货架销售的建设方案,从三个方面阐述货架集成建设,投入使用,系统管理。...

厨余收运管理系统迭代开发,回收系统优化升级

完成基础数据开发,试运行一段时间后,在数据沉淀的基础上对数据进行挖掘,对业务处理进行优化升级。...

餐厨油脂再生资源收运回收管理系统方案

通过互联网+改变餐厨收运回收传统工作方式,移动手机助力系统提供工作效率、’管理效率,数据电子化打造收运大数据建设。...

医馆诊所管理系统

实现中医馆中诊所,理疗的业务处理,分为小程序用户端,医生端,管理端,PC管理端,PC服务台,PC医生端...

thinkphp8安装VIEW,多应用,验证码

官方THKPHP8默认只有单应用一个控制器,其他插件可按需安装,通常需要VIEW和多应用...

sqlserver中的nvarchar和varchar的区别

数据库表中nvarchar和varchar都可以用来表示字符的存储类型。...

微信接口开发返回码一览表

返回错误码对照表...

0.087890s