linux安装php7+nginx
来源:互联网 发布:炒股行情分析软件 编辑:程序博客网 时间:2024/05/05 00:08
安装php
打开php官网,选择一个下载地址,然后进入到php的目录
# cd /usr/local/php# wget http://hk1.php.net/get/php-7.0.19.tar.gz.asc/from/this/mirror
下载完成后,当前目录会有一个mirror的文件,直接解压:
# tar -zxvf mirror
解压完成后,在当前目录下,会生成一个‘php-7.0.19’的文件夹。
要想支持ng服务器,php还需要下载安装fpm(如果是apache服务器就跳过这一步)。在之前,先安装一些依赖:
# yum -y install gcc c openssl openssl-devel bzip2-devel libxslt libxslt-devel libmcrypt libmcrypt-devel libxml2 libxml2-devel autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel
进入php-7.0.19目录,然后开始配置,把php安装到/usr/local/php 下,–enable-fpm是支持ng服务器的,必须安装(同时把相关扩展在在安装php的时候就安装上去,因为后面一个个安装老是遇到问题):
# cd php-7.0.19# ./configure --prefix=/usr/local/php7 --enable-fpm --with-curl --with-freetype-dir --with-gd --with-gettext --with-iconv-dir --with-kerberos --with-libdir=lib64 --with-libxml-dir --with-mysqli --with-openssl --with-pcre-regex --with-pdo-mysql --with-pdo-sqlite --with-pear --with-png-dir --with-jpeg-dir --with-xmlrpc --with-xsl --with-zlib --with-bz2 --with-mhash --enable-bcmath --enable-libxml --enable-inline-optimization --enable-gd-native-ttf --enable-mbregex --enable-mbstring --enable-opcache --enable-pcntl --enable-shmop --enable-soap --enable-sockets --enable-sysvsem --enable-sysvshm --enable-xml --enable-zip
如果上步没出错的话,就可以开始编译了,(make编译是很长时间的):
#make
编译完成后,一般出现“don’t forget to run make test”,就表示编译成功了,然后就可以安装了:
# make install
安装成功后,可以测试看看php的版本号,刚才php安装在/usr/local/php7里面:
# /usr/local/php/bin/php -v
如果出现php的版本号,说明安装成功了。
然后我们把php放到环境变量里面去:
# echo 'export PATH=/usr/local/php/bin:$PATH'>>/etc/profile# source /etc/profile
这样我们就能在任何地方直接使用php命令了,测试下php -v 命令,如果出现版本表示配置成功了。
安装成功后的文件夹里面,php的配置文件(php.ini)是不存在的,要去源码包里面复制一个出来(首先要看php是去哪里找php.ini的,可以在phpinfo里面看,也可以命令:php –ini):
# cp /usr/local/php/php-7.0.19/php.ini-development /usr/local/php/etc/php.ini
安装redis
去官网下载源码包,下载完成后,有个redis-3.2.9.tar.gz,解压:
# tar -zxvf redis-3.2.9.tar.gz# cd redis-3.2.9
安装redis之前,还要安装gcc和tcl,gcc是C语言的编译器,redis是C语言写的,redis的一些测试组件是tcl来编写的。
# yum -y install gcc tcl
然后可以直接编译安装
# make # make install
看看安装在哪里了:
# which redis-server
结果是:/usr/local/bin/redis-server
一般在启动redis的时候,都会配合一个配置文件启动,这个配置文件一般源码包里面会有个原型,我们把他拷贝出来:
# cp redis.conf /usr/local/redis.conf
然后开始修改一些配置项:
# vim /usr/local/redis.conf
里面有个daemonize no,这个是说前台启动还是后台启动,改成yes(后台启动redis-server),还有个port,端口,默认是6379.
启动redis-server(/usr/local/bin/redis-server这个是which redis-server命令得到,后面的是配置文件的路径(可以随便指定)):
# /usr/local/bin/redis-server /usr/local/redis.conf
看下redis-server是否启动:
# ps aux | grep redis-server
接着用redis-cli来操作redis:
# which redis-cli#如果要登录远端的redi,就要指定地址和端口# redis-cli -h 127.0.0.1 -p 6379
安装phpredis扩展
先看看php有没有redis扩展:
# php -m
安装扩展的时候,需要安装两个工具,phpize(待会编译出configure文件必须用到这个)和php-config(编译扩展的时候要用),这两个都包含在php-devel(php的扩展开发包,这个包含了其他扩展需要的工具):
# yum -y install php-devel
看phpize和php-config安装的路径(后面需要):
# which phpize# which php-config
结果是:
/usr/local/php/bin/phpize
和 /usr/local/php/bin/php-config
下面开始下载phpredis的扩展包:
# wget https://codeload.github.com/phpredis/phpredis/zip/php7
解压(下载的是个zip文件):
# unzip php7
解压成功后,有个phpredis-php7文件夹,进去,编译安装:
# cd /usr/local/jw/phpredis-php7# /usr/local/php/bin/phpize #必须要这操作,否则是没有configure文件的# ./configure --with-php-config=/usr/local/php/bin/php-config# make # make install
安装成功后,要修改phpini文件,把配置加进去:
将extension=redis.so加入到php.ini
重启服务器,如果是ng的话,重启pgp-fpm:
ps aux|grep php-fpm #查看fpm进程号kill -USR2 fpm进程号 #平滑重启php-fpm
最后在phpinfo里看看,有没有redis,或者php -m 查看有没有这个扩展
安装nginx
先进入官网,然后下载源码包:
# wget http://nginx.org/download/nginx-1.12.0.tar.gz
解压:
# tar -zxvf nginx-1.12.0.tar.gz
进入解压后的文件夹:
# cd nginx-1.12.0
开始配置,安装在/usr/local/nginx文件夹下:
# ./configure --prefix=/usr/local/nginx
然后开始编译,make会直接报错的,因为缺少PCRE库(Nginx编译需要PCRE(Perl Compatible Regular Expression),因为Nginx的Rewrite模块和HTTP核心模块会使用到PCRE正则表达式语法。这里需要安装两个安装包pcre和pcre-devel。第一个安装包提供编译版本的库,而第二个提供开发阶段的头文件和编译项目的源代码)
# yum -y install pcre pcre-devel
安装完之后,再进行编译和安装:
# make # make install
安装成功后,进入安装目录
# cd /usr/local/nginx
启动nginx
# cd sbin# ./nginx
在浏览器看看是否启动成功:119.29.40.108。回车之后,显示“wellcome to nginx”说明是启动成功了。
nginx和php的一些配置
1.先配置fpm
# cd /usr/local/php/sbin# ./php-fpm
这里应该是报错了:
ERROR: failed to open configuration file '/usr/local/php/etc/php-fpm.conf': No such file or directory (2)
这是因为没有php-fpm.conf这个文件:,我们把php-fpm.conf.default文件改成php-fpm-conf:
# mv php-fpm.conf.default php-fpm.conf
然后再次启动php-fpm:
# cd /usr/local/php/sbin# ./php-fpm
结果还是报错:
WARNING: Nothing matches the include pattern '/usr/local/php/etc/php-fpm.d/*.conf' from /usr/local/php/etc/php-fpm.conf at line 125.[03-Jun-2017 14:40:10] ERROR: No pool defined. at least one pool section must be specified in config file
这是说,在/usr/local/php/etc/php-fpm.conf文件中的125行有个错误,我们用vim来看下,直接打开这个文件到125行,125行写的是这个,引入了一个文件:/usr/local/php/etc/php-fpm.d/*.conf,
include=/usr/local/php/etc/php-fpm.d/*.conf
我们再找到这个文件的路径看看,有没有这个文件:
# cd /usr/local/php/etc/php-fpm.d# ls
发现这个路径下,只有:
www.conf.default 文件,我们同样把这个文件的名字改下:
# cp www.conf.default www.conf
这样一来,就有这个文件了。然后再次启动php-fpm:
# cd /usr/local/php/sbin# ./php-fpm
这次是启动成功了。可以用下面命令来看看,是不是有fpm进程:
# ps aux | grep php-fpm
2.再配置nginx
nginx的配置文件都在conf文件夹里面:
# cd cd /usr/local/nginx/conf# vim 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; }
保存退出,然后重启ngnix(改了配置就重启,和apache一样的):
# cd /usr/local/nginx/sbin# ./nginx -s reload
用命令看看有没有nginx的进程号:
# ps -ef | grep nginx
重启成功后,测试下,nginx服务器是不是跟php关联上了:
# cd /usr/local/nginx/html# vim index.php
在里面打印出“hello world”,然后网页上看下,能不能跑起来.
这样,配置也就弄好了。需要注意的是:nginx和apache不一样,不能直接解析php文件,要交给fpm处理的。所以必须要安装fpm。
安装mysql
进入官网,下载mysql:
# wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.18.tar.gz
解压:
tar -zxvf mysql-5.7.18.tar.gz
在安装mysql之前,要yum安装一些依赖软件:
# yum -y install cmake gcc-c++ ncurses-devel perl-Data-Dumper boost boost-doc boost-devel
进入mysql解压目录,然后用cmake来编译:
# cd mysql-5.7.18# cmake \-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \-DMYSQL_DATADIR=/usr/local/mysql/data \-DSYSCONFDIR=/etc \-DMYSQL_USER=mysql \-DWITH_MYISAM_STORAGE_ENGINE=1 \-DWITH_INNOBASE_STORAGE_ENGINE=1 \-DWITH_ARCHIVE_STORAGE_ENGINE=1 \-DWITH_MEMORY_STORAGE_ENGINE=1 \-DWITH_READLINE=1 \-DMYSQL_UNIX_ADDR=/var/run/mysql/mysql.sock \-DMYSQL_TCP_PORT=3306 \-DENABLED_LOCAL_INFILE=1 \-DENABLE_DOWNLOADS=1 \-DWITH_PARTITION_STORAGE_ENGINE=1 \-DEXTRA_CHARSETS=all \-DDEFAULT_CHARSET=utf8 \-DDEFAULT_COLLATION=utf8_general_ci \-DWITH_DEBUG=0 \-DMYSQL_MAINTAINER_MODE=0 \-DWITH_SSL:STRING=bundled \-DWITH_ZLIB:STRING=bundled \-DDOWNLOAD_BOOST=1 \-DWITH_BOOST=/usr/local/boost
然后开始编译和安装
# make # make install
注意
由于nginx和fpm并没有设置成开机启动,也没有做成服务,所以服务器重启后,要重启启动nginx服务器和fpm服务器。
- linux安装php7+nginx
- Linux安装配置php7+nginx
- Linux安装配置php7+nginx
- linux 下安装nginx php7
- Linux安装配置php7+nginx
- linux下安装php7+mysql5.7+nginx
- linux下安装php7+mysql5.7+nginx
- linux下nginx和php7安装
- Linux+Nginx+php7 redis扩展安装
- nginx+php5&php7安装
- centos7 安装nginx&php7
- Linux下php7.0.6+nginx环境编译安装
- 图解Linux下源码安装PHP7.0.9 +Nginx
- 整理了一个PHP7+nginx+mysql+linux 安装步骤
- linux cenos7 下YUM安装PHP7 NGINX MYSQL
- linux之debian安装php7与php5共存nginx
- Linux 利用yum源安装php7.0+nginx
- CentOS 编译安装 php7 + nginx
- 【笔记】ZooKeeper的安装与配置(单节点)
- MySQL的备份与恢复
- iOS跳转设置界面的多个url
- 处理大并发之一 对异步非阻塞的理解
- 线程安全和非安全用例
- linux安装php7+nginx
- java基础知识之接口
- Android TabLayout 在宽屏幕上tab不能平均分配的问题解决
- 【Tensorflow】tensorflow笔记 :常用函数说明
- VB6.0简繁体转换步骤
- 简单介绍Fiddler(一)
- h5键盘遮挡输入框问题 、模仿微信输入框失去焦点时隐藏iphone的软键盘和聚焦时出现输入框
- java web开发之各种工具配置
- hql not mapped hibernate语句查询错误