背景:需要php运行环境
装php5.6
下载php的安装源
cd /etc/yum.repos.d
wget http://rpms.famillecollet.com/enterprise/remi.repo
安装php5.6与相关扩展
yum install --enablerepo=remi --enablerepo=remi-php56 php php-opcache php-devel php-mbstring php-mcrypt php-mysqlnd php-phpunit-PHPUnit php-pecl-xdebug php-pecl-xhprof
查看安装的版本
php --version
如果版本低了就更新一下(升级到5.6)
yum --enablerepo=remi-php56,remi update php*
安装php-fpm
yum install --enablerepo=remi --enablerepo=remi-php56 php-fpm
配置nginx
配置server
sudo vim /etc/nginx/conf.d/default.conf
location ~ \.php$ {
root /home/webwe/www;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
配置user
注:当你的站点根目录切到home下面的目录时,需要这一步配置,否则无法访问静态文件(.html)。
sudo vim /etc/nginx/nginx.conf
把 user nginx;
改成 user root;
配置php-fpm
sudo vim /etc/php-fpm.d/www.conf
user = xxx【注:是用户名】
group = nginx
security.limit_extensions = .php .php3 .php4 .php5 .html
装MySQL
查看是否有MySQL的安装包:
yum list | grep mysql
发现有mysql-server mysql mysql-devel:
sudo yum install -y mysql-server mysql mysql-devel
查看是否安装成功:
rpm -qi mysql-server
开启服务:
sudo service mysqld start
MySQL初始化只有 root 用户,需要给 root 设置密码:
mysqladmin -u root password 'xxx'
登录MySQL:
mysql -u root -p
输入密码开启成功!查看一下我们安装的版本:
select version();
版本只有5.1!升级一下。还记得刚刚的 remi 库吗,看看有没有 MySQL 可以用:
yum --enablerepo=remi,remi-test list mysql mysql-server
发现5.5.54版本,可以,更新一下:
sudo yum --enablerepo=remi install mysql mysql-server
再启动MySQL:
sudo service mysqld restart
此时同样登录 select 发现版本已更新!
最后,查看MySQL是否开机启动:(off...表示没有开机启动)
chkconfig --list | grep mysqld
设置开机启动:
sudo chkconfig mysqld on
检查:(on...表示开机启动)
chkconfig --list | grep mysqld
附:MySQL的一些配置文件位置
/etc/my.cnf //MySQL 主配置文件
/var/lib/mysql //数据库文件
/var/log //数据库日志输出
装phpmyadmin
同样用yum安装:
sudo yum install --enablerepo=remi --enablerepo=remi-php56 phpmyadmin
移动目录到可访问路径:
mkdir /home/webwe/www/phpmy_admin
cp -a /usr/share/phpMyAdmin/* /home/webwe/www/phpmy_admin/
配置session,找到php.ini的save_path,去注释:
grep session.save_path /etc/php.ini
访问路径发现报错:phpmyadmin session_start(): open(SESSION_FILE, O_RDWR) failed: Permission de。很显然就是读写权限问题。
cat /etc/php-fpm.d/www.conf
发现 session.save_path 的路径是 /var/lib/php/session,修改权限:
sudo chmod 777 -R session/
再次访问成功!
附:中文乱码问题
一直以来,使用phpmyadmin一直被中文乱码问题困扰!看了网上的那么多方案,改phpmyadmin的数据库编码、表编码、字段编码、改config.inc.php设置等等,统统无法解决问题!但其实,我们直接在phpmyadmin中将数据改为中文是可以显示的,于是可以断定不是phpmyadmin的显示问题。而问题很可能出在数据传输的格式上。最后在php手册中发现了mysqli的设置字符串编码的方法 $mysqli->set_charset("utf8");
,困扰多年的问题终于解决!