在CentOS7上搭建PHP环境
6年前
939
0
本文介绍安装apache、nginx、mysql、php、redis,希望对读者有所帮助。
安装apache
1.下载apache安装包
httpd-2.2.31.tar.gz 安装包:[下载]
更多的版本:[去下载]
2.解压apache
tar -zxvf httpd-2.2.31.tar.gz
3.建立目标文件夹
mkdir /usr/local/apache2
安装的apache2要安装到这个文件夹里面
注意:以下所有操作都时在root用户下执行的
4.配置apache
回到原来解压之后产生的文件夹
./configure --prefix=/usr/local/apache2 --enable-module=shared
要加上后面的参数,否则无法使用php,-enable-module=shared表示Apache可以动态的加载模块
以上会出现:no acceptable C compiler found in $Path
直接运行 yum install gcc,安装Gcc即可 然后再运行 ./configure —prefix=/usr/local/apache2 —enable-module=shared
4.安装apache
make && make install
5.启动apache
先切换到安装完成后的目录/usr/local/apache2/bin
启动,重启和停止,操作如下:
./apachectl -k start
./apachectl -k restart
./apachectl -k stop
PHP
安装5.6.24为例
1.下载php安装包
php-5.6.24 安装包:[下载]
或者:
wget http://cn2.php.net/get/php-5.6.24.tar.gz/from/this/mirror
2.安装php依赖
yum install libxml2-devel
(xml)yum install openssl-devel
(https)yum install curl-devel
(curl)
3.配置php
解压mirror:tar -zxvf mirror
进入解压后的文件夹 php-5.6.24
操作:
./configure --sysconfdir=/usr/local/apache2 --with-config-file-path=/etc --enable-fpm --with-curl --with-openssl --enable-mbregex --with-mysql --with-mysqli --with-mysql-sock --enable-pdo --with-pdo-mysql --with-pdo-sqlite --enable-mysqlnd --with-zlib --enable-zip --enable-mbstring --with-apxs2=/usr/local/apache2/bin/apxs
说明:
—sysconfdir=/usr/local/apache2 =====(指定apache配置文件安装路径)
—with-config-file-path=/etc
—with-config-file-scan-dir=/etc/php.d
—enable-fpm =====(使管理员能够优雅地停止和启动PHP工作进程而不丢失任何查询)
—with-curl
—with-openssl
—enable-mbregex =====(正则)
—with-mysql
—with-mysqli
—with-mysql-sock
—enable-pdo
—with-pdo-mysql
—with-pdo-sqlite
—enable-mysqlnd
—with-zlib
—enable-zip
—enable-mbstring
—with-apxs2=/usr/local/apache2/bin/apxs
4.安装php
make && make install
5.PHP配置文件
php.ini的位置: /etc/php.inicp /root/php-5.6.24/php.ini-development /etc/php.ini
/usr/local/bin/php index.php //打开一个php文件
如果有这个提示:
php Warning: phpinfo(): It is not safe to rely on the system’s timezone settings.
vim /etc/php.ini
设置date.timezone = PRC
MySql
以5,6,43为例
1.下载MySql安装包
rpm文件:[下载]
或者:
下载 MySQL官方的 Yum Repositorywget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
2.yum安装
yum -y install mysql57-community-release-el7-10.noarch.rpm
3.安装MySQL服务器
yum -y install mysql-community-server
4.启动MySql
加入开机启动: systemctl enable mysqld
启动mysql服务进程: systemctl start mysqld
5.重置密码
mysql_secure_installation
过程操作:
Enter current password for root (enter for none): [直接回车]
Set root password? [Y/n] [设置root用户密码] y
Remove anonymous users? [Y/n] [删除匿名用户] y
Disallow root login remotely? [Y/n] [禁止root远程登录] n
Remove test database and access to it? [Y/n] [删除test数据库] y
Reload privilege tables now? [Y/n] [刷新权限] y
6.登陆
mysql -u root -p
如果远程登陆数据库会提示:
ERROR 1130 (HY000): Host ‘192.168.25.1’ is not allowed to connect to this MySQL server
是因为mysql默认root是本地登陆,修改root的host
update user set host = ‘%’ where user = ‘root’;
flush privileges;
Nginx
nginx-1.10.1为例
1.下载Nginx安装包
nginx-1.10.1安装包:[下载]
或者:
wget http://nginx.org/download/nginx-1.10.1.tar.gz
2.安装Nginx依赖
yum install pcre-devel
yum install zlib-devel
yum install openssl-devel
yum -y update openssl openssl-devel
2.安装Nginx
解压:tar -zxvf nginx-1.10.1.tar.gz
进入加压后的文件夹:cd nginx-1.10.1
配置:./configure --with-http_ssl_module
安装make && make install
3.启动Nginx
/usr/local/nginx/sbin/nginx
打开网页。可以看到welcome
4.打开php-fpm
复制配置文件
cp /usr/local/apache2/php-fpm.conf.default /usr/local/apache2/php-fpm.conf
开启php-fpm
/usr/local/sbin/php-fpm
检验是否开启
ps aux | grep php-fpm
5.修改nginx配置
vim /usr/local/nginx/conf/nginx.conf
添加这一代码:
location ~ \.php {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index /index.php;
include /usr/local/nginx/conf/fastcgi_params;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
重启:/usr/local/nginx/sbin/nginx -s reload
nginx启动、重启和关闭
nginx 关闭
/usr/local/nginx/sbin/nginx -s quit
nginx 启动
/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
ngnx 重启
/usr/local/nginx/sbin/nginx -s reload
Redis
以2.8.17版本为例
1.下载Redis
redis-2.8.17.tar.gz安装包:[下载]
或者:
wget http://download.redis.io/releases/redis-2.8.17.tar.gz
2.安装Redis
解压:tar xzf redis-2.8.17.tar.gz
进入安装包:cd redis-2.8.17
安装:make PREFIX=/usr/local/redis install
3.配置Redis文件
mkdir -p /usr/local/redis/etc
cp /root/redis-4.0.9/redis.conf /usr/local/redis/etc/
4.启动脚本
cd /root/redis-4.0.9/utils
vim redis_init_script
修改如下:
创建软链:ln -s /usr/local/redis/etc/redis.conf /etc/redis/6379.conf
将启动脚本复制到etc中:cp /root/redis-4.0.9/utils/redis_init_script /etc/init.d/redis
5.修改 不让占终端
vim /etc/redis/6379.conf
将 daemonize yes,如下:
6.将reids设置自启
vim /etc/init.d/redis
在第二行加一条 #chkconfig:2345 80 90
,如下:
然后再输入:chkconfig --add redis
chkconfig redis on
7.启动 Redis
/etc/init.d/redis start
8.测试 Redis
/usr/local/redis/bin/redis-cli
9.安装php redis扩展
php -m 查看是否有redis拓展
下载: wget http://pecl.php.net/get/redis-2.2.8.tgz
解压:tar -zxvf redis-2.2.8.tgz
进入安装包:cd redis-2.2.8
侦测php环境:phpize
配置:./configure --with-php-config=/usr/local/bin/php-config
如果出现下面情况:
不用管 继续下面操作。
安装:make && make install
再修改php.ini:vim /etc/php.ini
修改extension_dirextension_dir="/usr/local/lib/php/extensions/no-debug-non-zts-20131226/"
添加:extension=redis.so
然后重启服务器 和 php
10.安装 phpRedisAdmin
git clone https://github.com/ErikDubbelboer/phpRedisAdmin.git
cd phpRedisAdmin
git clone https://github.com/nrk/predis.git vendor
mv includes/config.simple.inc.php includes/config.inc.php
再nginx配置phpRedisAdmin目录,就可以访问了
Swoole
以1.9.1版本为例
1.下载 Swoole
swoole-src-1.9.1-stable安装包:[下载]
或者:
wget https://github.com/swoole/swoole-src/archive/v1.9.1-stable.tar.gz
2.安装 Swoole
解压:tar zxvf v1.9.1-stable.tar.gz
进入安装包:cd swoole-src-1.9.1-stable
侦测环境:/usr/local/php/bin/phpize
配置:./configure --with-php-config=/usr/local/php/bin/php-config
安装:make && make install
3.配置php支持swoole
vi /usr/local/php/etc/php.ini
添加一行:extension=swoole.so
然后重启php-fpm
在phpinfo页面可以看到关于swoole的选项,说明安装成功。
解决yum不能使用
- 没网,试着:ping www.baidu.com
如果显示没有连接的话,就说明没网,也就无法使用yum 命令。 - ping通了的话,还是是用不了yum命令,说明是yum镜像没有了,那么就得下载一个来更新。
在安装完CentOS后一般需要修改yum源,才能够在安装更新rpm包时获得比较理想的速度。国内比较快的有163源、sohu源。这里以163源为例子。cd /etc/yum.repos.d
mv CentOS-Base.repo CentOS-Base.repo.backup
wget http://mirrors.163.com/.help/CentOS6-Base-163.repo
mv CentOS6-Base-163.repo CentOS-Base.repo
yum clean all
最后在使用yum 就可以了。
参考文献:
php swoole 安装与使用
CentOS7安装MySQL
安装php 5.6和redis扩展的全过程