美文网首页
(最全)使用宝塔将thinkphp环境部署到阿里云服务器(一键部

(最全)使用宝塔将thinkphp环境部署到阿里云服务器(一键部

作者: CoderZb | 来源:发表于2022-12-18 11:48 被阅读0次

    框架及软件包

    项目代码用的开发框架是ThinkCMF 5.1.1
    软件用的是LNPM组合。即::Linux + Apache + MySQL+ PHP。对应的版本是系统: CentOS Linux 7.9.2009 (Core) 、Apache 2.4MySQL 5.5PHP 7.0

    image.png

    部署步骤

    步骤一:购买阿里云云服务器ECS

    免费使用一个月的云服务器ECS

    image.png
    步骤二:修改实例密码(方便记住)
    image.png
    image.png
    步骤三:开放8888端口、80端口、21端口、 39000到40000端口 、3306端口

    8888打开宝塔可视化界面会用到,
    80打开自己的网站会用到
    21端口上传文件会用到
    39000/40000是被动端口的范围,选择被动模式会用到
    3306端口连接数据库会用到

    image.png
    image.png image.png
    image.png
    步骤四:百度搜索下载PuTTY,然后输入公网IP,点击Open之后,会打开终端,输入步骤二的用户名和密码

    root 13xxxxxxZb

    image.png
    • 公网IP


      image.png
    步骤五:安装宝塔

    终端输入yum install -y wget && wget -O install.sh http://download.bt.cn/install/install.sh && sh install.sh
    安装宝塔,会有YES、Y的确认操作

    • 记得保存安装宝塔后生成的用户名和密码
    Bt-Panel: http://121.199.57.232:8888
    username: lzqimnfu
    password: xxxx
    
    步骤六:在浏览器输入生成的http://121.199.57.232:8888,然后进入宝塔后台即可,接下来宝塔会弹出来一个框,会让我们选择LAMP还是 LNMP,这里我选择的是LAMP
    image.png image.png
    步骤七:添加网站站点
    image.png
    步骤八:上一个步骤,接着会在文件导航菜单中生成如下文件夹
    image.png
    默认该文件夹会有如下文件
    image.png
    浏览器打开http://121.199.57.232/index.html打开试一下(默认是80端口,上面的步骤开放了这个端口,所以能正常打开这个网站,如果不开放,输入这个链接是打不开网站的)
    image.png

    然后将本地的一个margin.html拖动到该文件夹内,最后在浏览器输入http://121.199.57.232/margin.html,发现也能正常打开

    image.png
    步骤九:由于我们是要将thinkphp项目放到服务器上,所以步骤八,我们先将www---wwwroot---121.199.57.232下的文件全部删除,将php的代码传上去。这里我们使用ftp将代码传上去。
    image.png
    步骤十:在宝塔中添加FTP账户
    • 添加成功后,后续登录该ftp账户向服务器传文件的时候,会将文件传输到/www/wwwroot/121.199.57.232/目录下。
      image.png
    • 创建成功后的效果


      image.png
    步骤十一:百度搜索下载FileZilla,并用宝塔中生成的ftp的相关信息进行登录连接,最后将你的php项目整体传输到/www/wwwroot/121.199.57.232/即可。
    image.png
    image.png
    • 注意如果连接不上ftp,可以试试下面的四张截图的步骤:将ForcePassiveIP的#删除掉,然后将默认的192.168.0.1改成121.199.57.232(公网ip)
      image.png
    image.png
    image.png image.png
    步骤十二:创建输入库,导入sql文件
    image.png
    image.png

    再修改php项目的database.php文件中的数据库相关的参数,就是该步骤生成的数据库名,用户名,密码。

    image.png
    步骤十三【重】:将宝塔面板创建的数据库,使用navicat软件连接该数据库
    • 首先宝塔和阿里云后台都要开放3306端口,由于上面的步骤三已经在阿里云开放了3306端口,所以本步骤只需要宝塔的安全tab下,开放3306端口
      image.png
    image.png
    image.png
    步骤十四:安装php

    我选择的是PHP-7.0, 不过我的项目框架ThinkCMF 5.1.1推荐的的是7.1,所以最好是按照框架的要求来选则php版本。


    image.png
    步骤十五:安装一键部署,注意要将步骤七:添加网站站点添加的站点删除掉。因为用了同一个站点121.199.57.232.
    image.png
    步骤十六:浏览器输入http://121.199.57.232/ ,出现如下界面说明部署成功了
    image.png
    步骤十七(重点):访问正式环境下的php接口http://121.199.57.232/api/app/public/get_dy_real_playurl,提示找不到控制器,但是测试服务器正常,如下图所示。
    • 正式环境报错


      image.png
    • 测试环境正常


      image.png
    步骤十八(重点):针对上面的问题,进入到宝塔后台,找到伪静态,然后,在当前下拉框选项中将以下内容复制到输入框中,然后保存即可。
    <IfModule mod_rewrite.c>
      Options +FollowSymlinks -Multiviews
      RewriteEngine On
    
      RewriteCond %{REQUEST_FILENAME} !-d
      RewriteCond %{REQUEST_FILENAME} !-f
      RewriteRule ^api/?(.*)$ api.php?s=$1 [QSA,PT,L]
    
      RewriteCond %{REQUEST_FILENAME} !-d
      RewriteCond %{REQUEST_FILENAME} !-f
      RewriteRule ^(.*)$ index.php?s=$1 [QSA,PT,L]
    </IfModule>
    
    image.png
    image.png

    PS:尝试过选择thinkphp这种做法,发现不行


    image.png
    步骤十九:(以上步骤如果能正常访问接口的话,可以不执行如下操作,每操作一步可以访问步骤十七的接口看看能否拿到数据)
    • 操作1:将步骤十一传输的php项目全部删除,然后重新上传(试过了,执行该操作就可以成功拿到步骤十七访问接口的数据)。
    • 操作2:将如上的代码复制到你的php项目的public目录下的.htaccess(apache重写文件)
      image.png
    • 操作3:修改php项目的public目录下的.user.ini里面的内容为:
    open_basedir=/www/wwwroot/121.199.57.23/:/tmp/:/proc/
    

    注意1:宝塔首页,点击重启服务器后,可能会造成某些软件或者服务器没启动起来的问题。所以重启之后,最好看看软件模块的某些软件是否关闭了(注意2和注意3就是重启服务器造成的)。

    image.png

    注意2:当输入公网ip提示如下内容后,可能是因为Apache服务器没开启。

    image.png
    • 可以在宝塔首页,找到Apache,然后开启即可。
      image.png

    注意3:使用FileZilla连接ftp提示530 Login authentication failed,可能是因为FTP服务没开启。

    image.png
    • 可以在宝塔首页,找到FTP,然后开启即可。
      image.png

    相关文章

      网友评论

          本文标题:(最全)使用宝塔将thinkphp环境部署到阿里云服务器(一键部

          本文链接:https://www.haomeiwen.com/subject/klxlqdtx.html