软件版本和系统环境
系统:centOS-7
php:7.0.5
nginx:1.9.14
mysql:
nginx安装
下载软件包,解压进入。
./configure ----prefix="/usr/local/nginx"
注意根据需要解决以来环境,例如,上面的编译参数只指定了安装目录,那么nginx的依赖环境有gzip,pcre,zlib
yum install gzip pcre-devel zlib-devel
编译结束后查看信息如果有error请检查,否则可以继续执行。(not found不是错误,不需要解决)
make
make install
php安装
解决依赖问题,编译以后报error的都装上
编译参数网上找的,太多了,没看。
貌似在某个文档上看到所有参数必须在同一行,后来这个文档找不到了,不管,以防万一。
./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --with-config-file-scan-dir=/usr/local/php/etc/conf.d --enable-fpm --enable-soap --with-openssl --with-openssl-dir --with-mcrypt --with-pcre-regex --with-zlib --with-iconv --with-bz2 --enable-calendar --with-curl --with-cdb --enable-dom --enable-exif --with-pcre-dir --enable-ftp --with-gd --with-jpeg-dir --with-png-dir --with-freetype-dir --with-gettext --with-gmp --with-mhash --enable-mbstring --with-libmbfl --with-onig --enable-pdo --with-pdo-mysql --with-zlib-dir --with-readline --enable-session --enable-shmop --enable-simplexml --enable-sockets --enable-sysvmsg --enable-sysvsem --enable-sysvshm --enable-wddx --with-libxml-dir --with-xsl --enable-zip --enable-mysqlnd --with-mysqli --without-pear
然后安装
make
make install
mysql安装
MySQL官网详细过程,这里只提下容易出错的地方。
因为php编译安装实在是太慢了,MySQL体积更大,实在受不了了,yum安装。
yum install mysql-community-server
http://dev.mysql.com/doc/refman/5.7/en/linux-installation-yum-repo.html
安装完成以后创建了一个 ‘root’@’localhost’的超级用户,超级用户的初始密码不为空,存放在错误日志文件中。文件地址/var/log/mysqld.log。可以直接查看密码
grep 'temporary password' /var/log/mysqld.log
然后可以登录,尽快修改密码
ALTER USER 'root'@'localhost' IDENTIFIED BY 'NewPassword!'
允许远程访问
(这里比较容易混乱,就学院一点)
进入数据库关系系统MySQL以后,先选择数据库mysql,然后把user表中root用户的host更改为%以允许从远程登录(其他用户同理)
use mysql;
update user set host='%' where user='root';
建议不要开启root用户的远程登录,创建一个新用户设为从任何地址登录,开发的时候也使用该用户,以免误操作导致难以解决的后果。
配置nginx
location / {
root html;
index index.php index.html index.htm;
}
/**************************************************************/
location ~ \.php$ {
root html;
fastcgi_pass 127.0.0.1:9001;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
配置php
把配置文件复制一下,需要修改的地方比以前少很多
cp php.ini-production /usr/local/php/etc/php.ini
cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf
cp /usr/local/php/etc/php-fpm.d/www.conf.default /usr/local/php/etc/php-fpm.d/www.conf
vim /usr/local/php/etc/php.ini
# 加入
zend_extension=/usr/local/php/lib/php/extensions/no-debug-non-zts-20141001/opcache.so
不需要自己添加mysql.so之类的扩展,实际上也找不到这个文件了。
运行测试
//参数:地址,用户,密码,数据库名
$mysqli = new mysqli("127.0.0.1", "pear", "123qazQAZ!", "mysql");
$result = $mysqli->query("SELECT host,user FROM user where user='root'");
$row = $result->fetch_assoc();
echo '<pre>';
print_r($row);
phpinfo();
问题汇总
再说