## LNMP服务器管理
> 通过LNMP一键安装包部署的服务器,管理方式都是一样的,可以使用其自带的管理脚本非常方便管理服务器。
1. LNMP提供了一个非常好用的虚拟主机管理脚本。
~~~
lnmp vhost add //添加虚拟主机
lnmp vhost list //查看虚拟主机
lnmp vhost del //删除虚拟主机
~~~
2. LNMP同时还提供了LNMP状态管理命令脚本
~~~
lnmp {start|stop|reload|restart|kill|status}
lnmp {nginx|mysql|php-fpm} {start|stop|reload|restart|kill|status}
~~~
## 在使用Thinkphp5 这类框架时常见问题
#### Thinkphp5框架的特点
### 1. 跨目录访问问题
PHP的一个安全隔离防跨站的功能
限定站点的可访问目录!有效来防止跨站攻击。
> 现像: 白屏、返回500错误、提示没有目录访问权限!
> 解决办法:
* 1. lnmp一键安装包1.4 修改配置文件fastcgi.conf
注释掉最后一行或者直接删除
这样虽然能解决问题,但是安全性降低了,存在跨站攻击的危险。
所以,这种方式一般要配合后面的方式共同使用。
$document_root是指站点根目录
~~~
#fastcgi_param PHP_ADMIN_VALUE "open_basedir=$document_root/:/tmp/:/proc/";
~~~
* 2. 修改站点配置文件 (/usr/local/nginx/conf/vhost/域名.conf)
注释掉include enable-php.conf 然后重写:然后再站点配置文件中,加入enable-php.conf的内容,需要做的调整就是要加上fastcgi_param PHP_ADMIN_VALUE "open_basedir=$document_root/:/tmp/:/proc/";
其中需要把 $document_root换成 需要的绝对路径
**站点配置如下:**
~~~
#include enable-php.conf;
location ~ [^/]\.php(/|$)
{
#try_files $uri =404;
fastcgi_pass unix:/tmp/php-cgi.sock;
fastcgi_index index.php;
include fastcgi.conf;
fastcgi_param PHP_ADMIN_VALUE "open_basedir=/wwwroot/test.com/:/tmp/:/proc/";
}
~~~
* 3. lnmp一键安装包,在使用其自身的站点管理功能添加站点时,会在根目录下,默认创建一个.user.ini的文件,这个文件其实就是定义跨目录访问权限的。
通过lnmp自动生的.user.ini 这个文件是无法删除的,并且也不能对其进行修改,如果要对这个文件进行修改,首先要设置一下该文件的特殊属性:
~~~
#查看文件属性
lsattr
#去除只读属性
chattr -i ./.user.ini
#添加只读属性
chattr +i ./.user.ini
~~~
其文件内容格式如下:
~~~
open_basedir=/home/www/test.com:/tmp/:/proc/
~~~

* 4.在这里有一个非常方便 使用方法:
~~~
open-basedir=.:/tmp/:/proc/ ;其中第一个.表示充许访问当前目录
~~~
> open_basedir 的优先级:fastcgi.conf>.user.ini>php.ini
### 2.pathinfo 问题
> 现像: 提示403错误或404错误
解决办法: 修改站点配置文件
~~~
include enable-php.conf;
#换成
include enable-php-pathinfo.conf;
~~~
### 3. 大小写问题
> Linux系统对大小写非常敏感,如果您的项目没有做到类名等的大小写统计,部署到linux系统上后,会出现意想不到的问题。
### 4.验证码不显示问题
验证码返回状态码200,但是验证码不显示,提示如下错误!
验证码显示如下错误:

直接访问验证码地址,出现如下错误:

**解决办法**
1. 首先需要确认GD库是否正确安装和开启
出现这个问题一般是因为GD库的问题。
首先需要先确认一下GD库是否正确安装和开启,如果没有安装,请安装并开启;如果已安装并开启,请先卸载GD库然后重新安装。
在Centos上卸载安装的方式:
~~~
#卸载`GD`库
yum remove GD
#安装`GD`库
yum install GD -y
~~~
2. 如果GD库已正确安装,但是验证码仍不显示
这时,一般情况下是因为文件的编码格式问题,在TP5中要保证全局配置文件(应用目录下的,config.php,如果使用Thinkphp的扩展配置,那么扩展配置目录extra下的所有配置文件)和验证码对应控制器的编码格式是无BOM格式编码。
> 出现BOM格式编码,一般情况下是因为在windows下使用记事本等工具编辑UTF8编码文件时会产生一些不可见的字符和空白等。BOM(不可见的字符)对于一般的文件,并不会产生影响,但是PHP并不会忽略BOM,所以PHP中BOM会产生一些意想不到的问题。
- 前言准备
- Linux新服务器的前期配置
- 认识linux下的Web服务器
- Linux的基本配置
- LNMP一键安装包快速部署web服务器
- LAMP服务器环境部署
- LAMP服务器管理
- LNMP服务器环境部署
- LNMP服务器管理
- lnmp一键安装包-常见问题
- 使用包管理器快速部署环境
- 包管理器快速部署LAMP服务器环境
- 升级php和mysql版本
- 包管理器快速部署LNMP服务器环境
- 使用源码包部署Linux服务器web环境
- 编译LAMP服务器环境部署
- apache安装与配置
- mysql的安装与配置
- PHP的安装与配置
- 编译LNMP服务器环境部署
- nginx服务启动脚本
- 源码安装常见问题
- Centos6与Centos7的区别
- 默认控制系统服务工具不同
- 设置开机启动的方式不同
- 编写service启动脚本
- 编写systemctl启动脚本
- 服务器安全
- 隐藏服务器信息
- Linux服务器防火墙设置
- 防火墙设置脚本
- 邮件发送
- 任务脚本的编写
- 服务器磁盘和服务器健康状态脚本
- 服务器登录报警脚本
- 数据库备份脚本
- 定时任务及应用
- 常见问题
- linux中使用ping命令不同的问题
- Linux中无法发送邮件
- mailx通过ssl方式发送邮件
- Mysql配置文件
- Linux TCP/UDP 常用端口
- Linux常见命令
- 系统信息
- 关机 (系统的关机、重启以及登出 )
- 文件和目录
- 文件搜索
- 挂载一个文件系统
- 磁盘空间
- 用户和群组
- 文件的权限
- 文件的特殊属性
- 打包和压缩文件
- RPM包
- YUM软件包升级器
- DEB 包 (Debian, Ubuntu 以及类似系统)
- APT 软件工具 (Debian, Ubuntu 以及类似系统)
- 查看文件内容
- 文本处理
- 字符设置和文件格式转换
- 文件系统分析
- 初始化一个文件系统
- SWAP文件系统
- 备份
- 光盘
- 网络-(以太网和WIFI无线)
- vi命令
- cut命令 截取
- Mysql
- MySQL备份-增量备与恢复命令实战
- mysqlbinlog
- mysql的安装
- 卸载mysql
- mysql多实例安装
- mysql 常用基础命令操作
- linux安装jdk、rpm安装mysql
- linux制作本地yum源
- shell脚本
