TPshop学习(3)linux下安装tpshop

本文档详细介绍了如何在LNMP环境下部署ThinkPHP5框架的过程,包括权限设置、Nginx配置、PHP配置等关键步骤,确保网站能够正常运行。

学习内容:
https://www.kancloud.cn/tpshop/thinkphp5/274464

教程中用lnmp.org中的lnmp.

安装过程中, 注意设置,注意目录权限

设置权限命令: chmod -Rf 777 文件夹名 (递归目录及子目录权限).
可能会提示要设置sql_mode

  1. 查找mysql配置文件my.cnf配置文件路径: find / -name my.cnf

安装成功之后, 进入商品详情或后台管理报404错误, 此时需要设置nginx配置

在tpshop目录下找到nginx.conf2配置文件替换

替换成功之后, 测试nginx是否成功:

lnmp nginx configtest 如果显示的是successful说明配置成功

重启nginx
重启命令: lnmp nginx restart

启用scandir

进入/usr/local/php/etc 然后编辑php.ini 开启scandir

然后重启php-fpm

/etc/init.d/php-fpm restart

这一段,配置 重写模式:

 location / {
           index  index.htm index.html index.php;  
           if (!-e $request_filename){
               #地址作为将参数rewrite到index.php上。tp框架接收s参数为controller和action,不少框架都利用这种方式来实现伪pathinfo模式(pathinfo为php功能,nginx并不支持)
               rewrite ^/(.*)$ /index.php?s=$1 last;
               break;
           }
       }

上面的正则能解决不带xx.php的,这条正则是为了rewrite url中带index.php/admin/admin/login这种,思路是一样的,将index.php后的字符串当成参数

location ~ /.*\.php/ {
               rewrite ^(.*?/?)(.*\.php)(.*)$ /$2?s=$3 last;
   break;
}

这两段取一个,配置不能访问的目录。

location ~*^/(public|install|application|thinkphp|template|plugins|backup|extend|rumtime|topthink|vendor)/.*.\.(php|php5)$
{
deny all;
}
set $file $document_root$fastcgi_script_name;
if($file != $realpath_root/index.php){
return 403;
}

==
如果用www.oneinstack.com中的lnmpa安装的环境。
apache的,就不用以上的配置了。
根目录下写:.htaccess

个人推荐用oneinstack.

学习改变命运,技术成就梦想!

### 部署 TPshop 项目到 Linux 环境的完整指南 在 Linux 环境下部署和运行 TPshop 项目需要完成多个步骤,包括服务器环境准备、代码上传、配置文件调整以及安全性设置。以下是详细说明: #### 1. 安装必要的软件 TPshop 的正常运行依赖于以下组件: - **Nginx**:作为 Web 服务器。 - **PHP**:建议使用 PHP 7.2 或更高版本[^1]。 - **MySQL/MariaDB**:用于数据库管理。 - **php-fpm**:处理 PHP 脚本。 可以通过以下命令安装这些组件(以 CentOS 为例): ```bash sudo yum install -y nginx mariadb-server php php-fpm php-mysqlnd php-json php-xml php-gd php-mbstring php-curl ``` 启动并设置服务开机自启: ```bash sudo systemctl start nginx mariadb php-fpm sudo systemctl enable nginx mariadb php-fpm ``` #### 2. 配置 Nginx 编辑 Nginx 配置文件(通常位于 `/etc/nginx/conf.d/default.conf` 或 `/etc/nginx/sites-available/tpshop`),添加或修改以下内容: ```nginx server { listen 80; server_name your_domain.com; root /opt/www/tpshop/public; index index.php index.html; location / { try_files $uri $uri/ /index.php?$query_string; } location ~ \.php$ { fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param PHP_ADMIN_VALUE "open_basedir=$document_root/:/tmp/:/proc/:/opt/www"; include fastcgi_params; } # 禁止访问敏感目录 location ~*^/(public|install|application|thinkphp|template|plugins|backup|extend|runtime|topthink|vendor)/.*\.(php|php5)$ { deny all; } set $file $document_root$fastcgi_script_name; if ($file != $realpath_root/index.php) { return 403; } } ``` 上述配置中: - `root` 指向 TPshop 的 `public` 目录[^1]。 - `fastcgi_param PHP_ADMIN_VALUE` 添加了项目的根路径 `/opt/www`。 - 禁止访问敏感目录的规则确保了系统的安全性[^2]。 测试 Nginx 配置是否正确: ```bash sudo nginx -t ``` 如果无误,重新加载 Nginx: ```bash sudo systemctl reload nginx ``` #### 3. 数据库配置 登录 MariaDB/MySQL 并创建数据库: ```sql CREATE DATABASE tpshop DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci; GRANT ALL PRIVILEGES ON tpshop.* TO 'tpshop_user'@'localhost' IDENTIFIED BY 'your_password'; FLUSH PRIVILEGES; ``` 将 TPshop 的 `application/database.php` 文件中的数据库配置更新为实际值: ```php return [ 'type' => 'mysql', 'hostname' => '127.0.0.1', 'database' => 'tpshop', 'username' => 'tpshop_user', 'password' => 'your_password', 'hostport' => '3306', 'params' => [], ]; ``` #### 4. 权限设置 确保 TPshop 目录及其子目录的权限正确: ```bash sudo chown -R nginx:nginx /opt/www/tpshop sudo chmod -R 755 /opt/www/tpshop sudo chmod -R 777 /opt/www/tpshop/runtime /opt/www/tpshop/upload ``` #### 5. 启动 TPshop 安装程序 访问你的域名或 IP 地址,进入 TPshop 安装界面。按照提示完成安装过程。 --- ### 注意事项 - 如果遇到 403 错误,请检查 Nginx 配置中的 `deny all` 和 `return 403` 规则是否正确[^2]。 - 确保防火墙允许 HTTP/HTTPS 流量: ```bash sudo firewall-cmd --add-service=http --permanent sudo firewall-cmd --add-service=https --permanent sudo firewall-cmd --reload ``` ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值