头像

nginx+php-fpm配置后页面显示空白的解决方法

由于nginx与php-fpm之间的一个小bug,会导致这样的现象: 网站中的静态页面 *.html 都能正常访问,而 *.php 文件虽然会返回200状态码, 但实际输出给浏览器的页面内容却是空白。 简而言之,原因是nginx无法正确的将 *.php 文件的地址传递给php-fpm去解析, 相当于php-fpm接受到了请求,但这请求却指向一个不存在的文件,于是返回空结果。 为了解决这个问题,需要改动nginx默认的fastcgiparams配置文件: vi /etc/nginx/fastcgi_params 在文件的最后增加两行:

  1. fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
  2. fastcgi_param PATH_INFO                $fastcgi_script_name;

然后重启一下服务:

service nginx -s reload

还有一种方法是修改 nginx的配置如下:

server {
listen 80;
server_name host;
root /opt/app/phpMyAdmin-4.7.8-all-languages/;

index index.html index.htm index.php;

location ~ [^/]\.php(/|$) {
fastcgi_pass 127.0.0.1:9000;
#fastcgi_pass remote_php_ip:9000;
#fastcgi_pass unix:/dev/shm/php-cgi.sock;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_script_name;
}

}

头像

CentOS6.8下安装redis并配置开机自启动

下载redis

下载链接:https://redis.io/download

下载并解压

  1. wget http://download.redis.io/releases/redis-3.2.5.tar.gz
  2. tar -zxvf redis-3.2.5.tar.gz

找到redis的目录进入

  1. cd redis-3.2.5

make编译redis

  1. make
  2. 或者
  3. make install

注意:make命令执行完成编译后,会在src目录下生成6个可执行文件,分别是redis-server、redis-cli、redis-benchmark、redis-check-aof、redis-check-dump、redis-sentinel。

执行make install。会将make编译生成的可执行文件拷贝到/usr/local/bin目录下;

redis安装异常

问题一:

make[2]: cc: Command not found
异常原因:没有安装gcc
解决方案:yum install gcc-c++

问题二:

zmalloc.h:51:31: error: jemalloc/jemalloc.h: No such file or directory
异常原因:一些编译依赖或原来编译遗留出现的问题
解决方案:make distclean。清理一下,然后再make。
在make成功以后,需要make test。在make test出现异常。

问题三:

couldn’t execute “tclsh8.5”: no such file or directory
异常原因:没有安装tcl
解决方案:yum install -y tcl。

二、启动redis

1:直接启动

  1. ./redis-server

加上`&`号使redis以后台程序方式运行

  1. ./redis-server &

检测后台进程

  1. ps -ef |grep redis

检测6379端口是否在监听

  1. netstat -lntp | grep 6379

使用redis-cli客户端检测连接是否正常

  1. ./redis-cli

2:通过指定配置文件启动
可为redis服务启动指定配置文件,配置文件 redis.conf 在redis根目录下。


#修改daemonize为yes,即默认以后台程序方式运行(还记得前面手动使用&号强制后台运行吗)。
daemonize no
#可修改默认监听端口
port 6379
#修改生成默认日志文件位置
logfile “/home/futeng/logs/redis.log”
#配置持久化文件存放位置
dir /home/futeng/data/redisData
启动时指定配置文件
redis-server ./redis.conf
#如果更改了端口,使用`redis-cli`客户端连接时,也需要指定端口,例如:
redis-cli -p 6380

3:redis开机自启动

执行./utils/install_server.sh配置Redis配置之后Redis能随系统启动。

执行基本配置./utils/install_server.sh之后,根据上面信息,可以得出:
默认的端口:6379,
生成一个redis配置文件:/etc/redis/6379.conf
生成一个redis日志文件:/etc/log/redis_6379.log
脚本:/var/lib/redis/6379
默认目录:/usr/local/bin/redis-server

三、Redis设置密码

修改配置文件

进入你redis.conf的配置文件,路径根据你的实际情况来

  1. vi redis.conf

命令模式下查找requirepass 密码字段

释放注释,写上自己的密码: requirepass yourpassword :requirepass  123456

保存之后重启服务

重启命令

  1. redis-server /etc/redis/6379.conf

启动测试

  1. /usr/local/bin/redis-cli

如何关闭有密码的服务:

  1. /usr/local/bin/redis-cli  -h 127.0.0.1 -p 6379  -a 123456 shutdown
头像

centos6.8 yum安装mysql 5.6

一、检查系统是否安装其他版本的MYSQL数据
yum list installed | grep mysql
yum -y remove mysql-libs.x86_64

二、安装及配置
wget http://repo.mysql.com/mysql-community-release-el6-5.noarch.rpm
rpm -ivh mysql-community-release-el6-5.noarch.rpm
yum repolist all | grep mysql
1、安装MYSQL数据库
yum install mysql-community-server -y

2、设置为开机启动
chkconfig --list | grep mysqld
chkconfig mysqld on

3、设置密码
/usr/bin/mysqladmin -u root password '123456'

4、修改root密码
mysql -uroot -p123456

mysql> select Host,User,Password from user where User='root';
+-----------------------+------+-------------------------------------------+
| Host                  | User | Password                                  |
+-----------------------+------+-------------------------------------------+
| localhost             | root | *4A82FDF1D80BA7470BA2E17FEEFD5A53D5D3B762 |
| localhost.localdomain | root |                                           |
| 127.0.0.1             | root |                                           |
| ::1                   | root |                                           |
+-----------------------+------+-------------------------------------------+
4 rows in set (0.00 sec)

mysql> update user set Password = password('123456') where User='root';
Query OK, 4 rows affected (0.03 sec)
Rows matched: 4  Changed: 4  Warnings: 0

mysql> select Host,User,Password from user where User='root';
+-----------------------+------+-------------------------------------------+
| Host                  | User | Password                                  |
+-----------------------+------+-------------------------------------------+
| localhost             | root | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 |
| localhost.localdomain | root | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 |
| 127.0.0.1             | root | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 |
| ::1                   | root | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 |
+-----------------------+------+-------------------------------------------+
4 rows in set (0.00 sec)

mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

5、建立远程root用户
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '你设置的密码' WITH GRANT OPTION;
mysql> flush privileges;
6、设置utf-8编码

查看mysql原本编码:
mysql> show variables like 'character%';
设置编码
# vi /etc/my.cnf
如下(少补):
[mysqld]
character-set-server=utf8
collation-server=utf8_general_ci
sql_mode='NO_ENGINE_SUBSTITUTION'
[mysql]
default-character-set = utf8
[mysql.server]
default-character-set = utf8
[mysqld_safe]
default-character-set = utf8
[client]
default-character-set = utf8
重启mysql
# service mysqld restart
再次查看编码:
# mysql -uroot -p
mysql> show variables like 'character%';
+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0.00 sec)