官方文档以及教程
- 官方安装教程
- 参考安装教程
- 参考安装教程
安装web服务器
- yum -y install httpd # 安装主程序
- systemctl start httpd.service # 启动服务
- systemctl status httpd.service # 查看服务运行状态
nginx 端口和 httpd冲突
-
修改httpd端口即可
-
找到Listen ,修改端口重新启动
-
查看状态显示运行即为启动成功
安装php和相关插件
Typecho官方要求PHP5.1,但是据说PHP7的性能是PHP5的两倍,所以我们直接安装PHP7好了。由于Centos内置源的版本比较老,所以我们要先更换一下PHP的源,输入如下指令:
- yum -y remove php* #卸载旧版本PHP
- yum -y install php #安装PHP
- yum -y install php-mysql php-gd php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-snmp php-soap curl curl-devel php-sqlite3 #安装常用插件
如果安装过旧版的php存在冲突可以加上版本 ,例如
官网获取Typecho主程序
-
访问官方下载地址获取稳定版主程序压缩包。解压后将build文件夹内所有文件全部上传到服务器的/var/www/html目录下,不包括build文件夹本身。
-
主程序上传完后执行如下指令提升权限,这一步很重要,不然Typecho没有办法完成安装
- chmod -R 777 /var/www/html # 提升权限
-
输入如下指令重启Apache服务:
- systemctl restart httpd.service #重启Apache服务
-
访问域名完成配置即可
数据库创建
- CREATE DATAbase typecho DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
升级到php7
- 查看当前php版本
- 检查当前PHP的安装包
- 移除当前PHP的安装包
- 添加第三方的YUM源
- 查看YUM源上能用PHP安装包
- 安装php7
相关命令
删除nginx日志的时候粗心大意删除导致NGINX报错
-
nginx停止
-
NGINX重启
-
解决办法
- 原理:使用nginx -c的参数指定nginx.conf文件的位置
但是nginx.pid被删除会出现如下问题
- 进程端口被占用无法完成配置,需要先杀掉NGINX的进程
- lsof -i:80
打开页面出现502的问题
-
其实是理解错误,nginx的代理配置需要指向php的端口而不是httpd的端口,关键是端口不能被占用;另外需要注意nagix的日志信息
-
其实感觉httpd也可以但是这里不使用这种方式
-
nginx配置如下
-
注意启动方式,端口不能被占用,通过nginx访问
php-cgi启动一会就会无缘无故关闭
- 网传关闭Apache的httpdservice就行了
- 另外一种,推荐 使用php-fpm 管理php-cgi
页面显示数据库错误
- 网传升级到php5.6之后就没这个问题了,但是出现了数据库适配器无法选择的问题
打开php.ini打开mysql扩展
- 开启 extension_dir = mysql…,将前面的删除即可 (注意不同系统的开启方式不一致,windows下为***.dll,unux下为***.so)
启动php-cgi无法加载mysql.so,文件不存在
- yum -y install php-mysql 安装数据库扩展即可
这里安装了数据库扩展,php-cgi启动也会出现mysql.so的问题,但是不影响页面数据库适配器加载了,也不影响启动和安装
因为之前安装过旧版的php,安装mysql扩展出现依赖冲突
- 先移除依赖冲突的相关包
- 再安装php相关扩展
可惜到这里还是出现了如下错误,因为之前安装了旧版的php,没有卸载干净
-
思路:卸载php-common,结果将php卸载了,命令都识别不了;既然5.6版本也无法识别数据库适配器,索性全部更换了php7,具体安装详见上
-
最终解决办法,在相关的扩展后面加上版本就好
注意:之前因为下载不了包,修改了yum.repo.d文件的,将当前的数据源协议改为 http,这里还是改回https,网上的说法不要乱套用,还是要自己思考一下的
- 至此,重启php服务,刷新一下界面,typecho就出现了数据库扩展,官方说使用mysql原生的,但是我这里没有看到,选择了另外一个,不影响安装
博主个人站:www.imisty.cn