centos thinkphp centos如何安装软件

大家好,今天小编来为大家解答centos thinkphp这个问题,centos如何安装软件很多人还不知道,现在让我们一起来看看吧!

宝塔安装ThinkPHP6 详细过程

最近我开始学习ThinkPHP,因此打开了Centos7系统,以下内容将详细记录我在宝塔面板安装TP6过程中遇到的问题及解决方法。

首先,由于TP6只能通过composer安装,因此我在宝塔中先安装了composer。关于安装步骤,网上有很多教程,这里仅作简要说明。

在安装过程中,需要删除以下禁用函数:php管理——>禁用函数——>删除函数,putenv()。

我采用的是局部安装方式,得到了composer.phar文件。随后,我将该文件移动到全局目录下,并去除了后缀。现在,该文件已经位于/usr/bin/目录下。执行composer-v命令后,显示执行成功。

接下来,我修改了镜像源,使用阿里的源,也可以选择其他源。成功更换为阿里源后,我切换到/www/wwwroot/目录下,执行以下命令下载TP6的源码:composer TP6的源码。这里,你可以将tp目录名更改为任意名称,这个目录将成为我们后续操作的应用根目录。我将它修改为TP6。

执行完毕后,可以看到ThinkPHP6的源码已经下载到本地。

接下来,我使用宝塔创建站点及其数据库,并将网站根目录设置为存放源码的文件夹。然后,我修改网站设置,将网站目录和运行目录都设置为public。

最后,直接访问网站,即可看到ThinkPHP6的首页。

关于开启调试模式,只需要将根目录下的.example.env重命名为.env即可。在文件中,你可以进行控制,true代表开启调试,false代表关闭调试。

thinkphp怎么部署(thinkphp5部署)

前端vue与后端Thinkphp在服务器的部署

vue在服务端部署时,我们都知道通过npmrunbuild指令打包好的dist文件,通过http指定是可以直接浏览的,Thinkphp通肢局如过域名指向index.php文件才可以浏览。要使前端正常调用后端数据,有两种方法:1、前端跨域调用后端数据,2、前端打包文件部署在后端的服务器文件夹下(同域)。

web服务器:apache

一、跨域

在服务器配置站点:

在路径/home/www/??下创建test项目文件夹,用来放项目文件。??

找到httpd-vhosts.conf文件配置站点??

前端站点:??

????ServerName?test.test.com??

????DocumentRoot?"/home/www/test/dist"????

????DirectoryIndex?index.html??

后端站点:??

????ServerName?test.testphp.com??

????DocumentRoot?"/home/www/test/php"????

????DirectoryIndex?index.php??

将前端打包历启好的dist文件放在/home/www/test/文件夹下,运行可浏览,当路径改变时,刷新会出现404错误。此时dist文件下创建一个.htaccess文件,当路径不存在时,路径指向能解决此问题。

??RewriteEngine?On??

??RewriteBase?/??

??RewriteRule?^index\.html$?-?[L]??

??RewriteCond?%{REQUEST_FILENAME}?!-f??

??RewriteCond?%{REQUEST_FILENAME}?!-d??

??RewriteRule?.?/index.html?[L]??

在/home/www/test文件夹下创建项目根目录php文件夹,将thinkphp文件放在php下。TP5的入口文件在public文件下,在这将public下的入口文件index.php挪到php文件夹下(个人习惯将入口文件放在项目根目录),后端绑定Index模块。

前端调用后端接口,存在跨域,跨域解决方法有好几种,在这我将在后端php做配置,解决跨域问题,在公用控制器设置跨域配置:

class?Common?extends?Controller??

{??

????public?$param;??

????//?设置跨域访问??

????public?function?_initialize()??

????{??

????????parent::_initialize();??

????????isset($_SERVER['HTTP_ORIGIN'])???header('Access-Control-Allow-Origin:?'.$_SERVER['HTTP_ORIGIN'])?:?'腊凯';??

????????header('Access-Control-Allow-Credentials:?true');??

????????header('Access-Control-Allow-Methods:?GET,?POST,?PUT,?DELETE,?OPTIONS');??

????????header("Access-Control-Allow-Headers:?Origin,?X-Requested-With,?Content-Type,?Accept,?authKey,?sessionId");??

$param?=??Request::instance()-param();??

$this-param?=?$param;??

????}??

}??

前端调用登录接口:this.axios.post('',{user:'',password:''})。

(可在webpack.base.conf.js文件下可定义接口:)

二、同域

后端配置同上,公共配置器中的header配置注释。将前端的dist文件下的所有文件(包含.htaccess),放在php文件夹下。将后端index控制器的index方法的路径重定向php下的index.html文件:

namespace?app\index\controller;??

use?think\Controller;??

class?Index?extends?Controller??

{??

????public?function?index()?{??

$this-redirect('/index.html');??

????}??

}??

前端调用登录接口:this.axios.post('/index.php/base/login',{user:'',password:''})

转自:

thinkphp怎么部署到ubuntu

1、开启服务

部分必需使用服务没有默认开启,必需开启后才能正常使用Thinkphpsae引擎,使网站正常工作。必需服务:MySql服务,用于mysql数据库存储数据、Strorage服务,用于存储上传文件销肆、Memcache服务,用于存储Thinkphp缓存、KVDB,用于存储键值数据。根据网站需要开启相关服务,以上为常见的sae服务。

2、缓存清除

如果开启了调试输出trace,然后关闭了,但是网页还是显示trace信息,需要把网站的缓存数据删除后生效,点击Memcache服务,Memcache状态下选择清空即可,如果没有在sae上部署则是直接删除相关缓存文件。

3、原生sae服务

由于sae提供原生服务不能与其他环境兼容,为使网站移植性更好,应该尽量少直接使用原耐斗码生服务,可以选择使用Thinkphp中相应的方法来实现。sae禁止本地IO,所有直接操作本地IO的函数都失效,需要使用sae其他服务来实现,这点一定要注意。

4、代码上传

可以直接上传代码包到sae上,可以使用svn来上传代码

5、屏蔽index.php

在代码根目录下的config.yaml中加入以下代码即可

handle:

-rewrite:if(!is_dir()!is_file()path~"^(.*)$")goto"index.php/$1"呵呵以后毕竟是电脑的时代,可以自己看一下php语言编程一类的知识昌哪,以后总会有用的,我天天晚上去后盾人看视频,我觉得不错的。

如何在lnmp上部署Thinkphp

ThinkPHP的四种URL模式:0(普通迅亩模式);1(PATHINFO模式);2(REWRITE模式);3(兼容模式)

nginx需要PATHINFO模式,但需要更改nginx配置文件让其支持PATHINFO模式。

系统环境:

系统:CentOS-6.4-x86_64

web服务器:nginx1.2.7

PHP版本:PHP5.3.17

数据库版本:MySQL5.5.28

一、安装LNMP1.0一键安装包:

按照以上版本安装环境

二、修改配置文件

1.修改php配置文件php.ini,将其中cgi.fix_pathinfo=0,值改为1

重启php-fpm

2.ssh里执行:

cat拍昌樱/usr/local/nginx/conf/pathinfo.conf'EOF'

set$real_script_name$fastcgi_script_name;

if($fastcgi_script_name~"(.+?\.php)(/.*)"){

set$real_script_name$1;

set$path_info$2;

}

fastcgi_paramSCRIPT_FILENAME$document_root$real_script_name;

fastcgi_paramSCRIPT_NAME$real_script_name;

fastcgi_paramPATH_INFO$path_info;

EOF

再将虚拟主机配置文件里的location~.*\.(php|php5)?$替换为:location~.*\.php

再在includefcgi.conf;下面添加一行includepathinfo.conf;

重启nginx

完整的虚拟主机配置文件如下:

server

{

listen80;

server_name;

indexindex.htmlindex.htmindex.php;

root/home/wwwroot/lnmp;

location~.*\.php

{

try_files$uri=404;

fastcgi_passunix:/tmp/php-cgi.sock;

fastcgi_indexindex.php;

includefcgi.conf;

includepathinfo.conf;

}

location/status{

stub_statuson;

access_logoff;

}

location~.*\.(gif|jpg|jpeg|png|bmp|swf)$

{

expires30d;

}

location~.*\.(js|css)?$

{

expires12h;

}

access_log/袭丛home/wwwlogs/lnmp.loglnmp;

}

将ThinkPHP的URL模式设置成PATHINFO。

ThinkPHP就可以在nginx中运行了。

thinkphp怎么调用ipmi

IPMI是智能型平台管理接口(Intelligent Platform Management Interface)的缩写,是管理基于 Intel结构的企业系统中所使用的外围设备采用的一种工业标准,该标准由Intel,HP,DELL和SuperMicro等公司制定。用户可以利用IPMI监视服务器的物理健康特征,如温度、电压、风扇工作状态、电源状态等。

在我们生产环境的物理服务器中,绝大部分都采用了DELL与SuperMicro,都选购了“DRAC远程控制卡”来支持IPMI,并分配了特定的网络段IP给每台服务器。这样,平时我们远程修改BIOS启动项,重启服务器,连接本地终端等操作就都可以通过IPMI来实现了。

以下,是我们生产环境中的实际应用场景:

环境介绍:

机器类型:DELL/SuperMicro

IPMI支持:已安装“DRAC远程控制卡”并已通过BIOS配置好IP地址

机器列表:

管理机 idc1-admin1

服务器 idc1-server1, DRAC远程地址 idc1-server1-remote

OS: CentOS 6.6 x86_64 Minimal

具体配置:

1.配置管理主机idc1-admin1

[root@idc1-admin1~]# yum install OpenIPMI ipmitool

[root@idc1-admin1~]#/etc/init.d/ipmi start

[root@idc1-admin1~]# lsmod| grep ipmi_devintf|| insmod/lib/modules/`uname-r`/kernel/drivers/char/ipmi/ipmi_devintf.ko

[root@idc1-admin1~]#/etc/init.d/ipmi restart

2. IPMI功能之远程修改BIOS启动项为网络启动

[root@idc1-admin1~]# ipmitool-I lanplus-H idc1-server1-remote-U ADMIN-P ADMIN chassis bootdev pxe

Set Boot Device to pxe

3. IPMI功能之远程重启服务器

[root@idc1-admin1~]# ipmitool-I lanplus-H idc1-server1-remote-U ADMIN-P ADMIN power reset

Chassis Power Control: Reset

[root@idc1-admin1~]# ipmitool-I lanplus-H idc1-server1-remote-U ADMIN-P ADMIN power status

Chassis Power is on

4.通过Cobbler网络自动好安装服务器idc1-server1

5.登陆刚刚安装完成的服务器idc1-server1,启用IPMI Console支持

5.1.安装所需软件

[root@aikaiyuan~]# yum install OpenIPMI ipmitool

[root@aikaiyuan~]#/etc/init.d/ipmi start

[root@aikaiyuan~]# lsmod| grep ipmi_devintf|| insmod/lib/modules/`uname-r`/kernel/drivers/char/ipmi/ipmi_devintf.ko

[root@aikaiyuan~]#/etc/init.d/ipmi restart

5.2配置grub启动参数

[root@idc1-server1~]# vi/boot/grub/grub.conf

# grub.conf generated by anaconda

#

# Note that you do not have to rerun grub after making changes to this file

# NOTICE: You have a/boot partition. This means that

# all kernel and initrd paths are relative to/boot/, eg.

# root(hd0,0)

# kernel/vmlinuz-version ro root=/dev/mapper/mylvm-root

# initrd/initrd-[generic-]version.img

#boot=/dev/sda

default=0

timeout=5

splashimage=(hd0,0)/grub/splash.xpm.gz

hiddenmenu

serial--unit=1--speed=115200

terminal--timeout=2 console

title CentOS(2.6.32-504.el6.x86_64)

root(hd0,0)

kernel/vmlinuz-2.6.32-504.el6.x86_64 ro root=/dev/mapper/mylvm-root rd_NO_LUKS LANG=en_US.UTF-8 rd_NO_MD SYSFONT=latarcyrheb-sun16 rd_LVM_LV=mylvm/root KEYBOARDTYPE=pc KEYTABLE=us crashkernel=auto rhgb quiet rd_NO_DM rd_LVM_LV=mylvm/swap rhgb quiet console=tty1 console=ttyS1,115200

initrd/initramfs-2.6.32-504.el6.x86_64.img

阅读剩余
THE END