我是把centos7安装在了Virtualbox中,使用的是NAT方式,然后使用端口转发就可以在window中访问到centos了。
这里关于NAT方式以及端口转发不再详细说明。
不过CentOS7中不再使用iptables,而是默认使用firewalld防火墙,我们通常使用的端口一般都被墙掉了,firewalld中可以通过以下两个命令查看和开发端口。
firewall-cmd --query-port=80/tcp //查看80端口是否被墙掉
firewall-cmd -add-port=80/tcp //开放80端口。
到了这个时候就可以安装一些准备环境了,包括编译环境,以及nginx和php7依赖的一些包。
编译环境我安装了以下三个
yum install gcc gcc-c++ autoconf -y
然后就是安装一些nginx的依赖包,暂时先安装以下这几个,编译过程中如果不过,按照提示,再使用yum安装即可。
yum install openssl openssl-devel zlib zlib-devel libxml2 libxml2-devel pcre pcre-deve -y
最后的pcre centos7中应该默认是安装了一个,devel是pcre的开发包,我们需要的是这个包,如果没有安装-devel的包,编译的时候一样会提示没有安装pcre。
准备环境准备好了之后就是编译安装nginx了。
解压
tar -zxvf nginx-1.9.9.tar.gz
然后是编译,编译之前可以使用
./configure --help
查看一下编译的选项,nginx编译的时候配置一下几个就可以,其他默认安装。
./configure --prefix=/etc/nginx \
--sbin-path=/usr/sbin/nginx \
--conf-path=/etc/nginx/nginx.conf \
--error-log-path=/var/log/nginx/error.log \
--http-log-path=/var/log/nginx/access.log \
--pid-path=/var/run/nginx.pid \
--lock-path=/var/run/nginx.lock
然后
make && make install
安装成功之后,可以去/etc/nginx目录下查看一下。
nginx.conf 是配置文件 html文件夹下放置web应用。暂时先了解这两个。
================================================
然后安装php7
php7是今年的重磅推出的全新版本,性能提高了不是一点两点啊据说提高了一倍,很是诱人。
下面介绍在centos7中怎么安装php7
如果前面的准备工作已经做好了,基本没什么需要注意的地方
解压,编译,安装
编译的时候
./configure --prefix=/usr/local/php7
很顺利的编译通过,然后
make && make install
安装之后在/usr/local/php7/etc/ 目录下没有php.ini文件,只有一个pear.conf,这个php.ini文件我们需要从php7安装包里拷贝过来,php7安装包里有php.ini-development 和php.ini-production两个,我是拷贝了development那个配置文件。
”Nginx不支持对外部程序的直接调用或者解析,所有的外部程序(包括PHP)必须通过FastCGI接口来调用“这句话是从别地找的,不知道是不是准确。
配置nginx.conf文件。这个其实应该另用一篇文章来说明。
这里简单说一下,配置的是
location ~ \.php$ {
root html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
注意fastcgi-param的配置。
总之PHP启动的时候是这样启动的。
php-cgi -b 127.0.0.1:9000 -c /usr/local/php7/etc/php.ini
像是开启了一个服务,其实通过
netstat -tnlp
命令可以查看到启动了一个进程,此时也可以看到nginx开启的80
这个时候我们可以在window上通过访问vbox虚拟的网卡的网关,来访问centos的80端口。
这个时候会发现php7的所有扩展没有一个支持的,对啊,安装的时候只是配置了--prefix,其他的扩展全部都没有
查看/usr/local/php7/lib/php/extensions/下有个目录一般是叫no-debug-non-zts-20151012
这个目录下放的是php7的扩展。
怎么通过编译安装php7的扩展呢,其实和其他版本一样,
/usr/local/php7/bin/目录下有个phpize可执行文件,通过这个编译扩展。
php7安装包中有个ext目录,进入到这个目录,可以看到php7的许多扩展,比如我们想要安装mbstring这个
那么进入mbstring目录
然后执行 /usr/local/php7/bin/phpize,这个时候如果没有保存,那么接着使用
./configure --with-php-config=/usr/local/php7/bin/php-config
然后就是make && make install安装成功之后,
/usr/local/php7/lib/php/extensions/no-debug-non-zts-20151012目录下就会出现mbstring.so,然后在php.ini文件中添加 extension=mbstring.so就可以了
一般还需要修改php.ini文件中extension_dir这个配置,让其指向/usr/local/php7/lib/php/extensions/no-debug-non-zts-20151012,就可以了。
到这个时候应该就差不多了。