欢迎访问广西陌上网络科技有限责任公司官网 · 专注企业数字化管理软件定制开发 客服热线:黄生 15678982250

cents+nginx配置thinkphp站点

更新时间:2025-08-11 浏览:3511 标签:php nginx thinkphp 

上文记录了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