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