MyException - 我的异常网
当前位置:我的异常网» 操作系统 » 云 Centos 七 PHP7环境配置 LNMP

云 Centos 七 PHP7环境配置 LNMP

www.MyException.Cn  网友分享于:2013-02-03  浏览:0次
云 Centos 7 PHP7环境配置 LNMP

阿里云 Centos 7 PHP7环境配置 LNMP (centos7+nginx+MySQL5.7.9+PHP7)

 

首先更新系统软件$ yum update

 

安装nginx

1.安装nginx源

$ yum localinstall http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm

2.安装nginx

$ yum install nginx

3.启动nginx

$ service nginx start

Redirecting to /bin/systemctl start  nginx.service

4.访问http://你的ip/

如果成功安装会出来nginx默认的欢迎界面

安装MySQL5.7.*

1.安装mysql源

$ yum localinstall  http://dev.mysql.com/get/mysql57-community-release-el7-7.noarch.rpm

2.安装mysql

$ yum install mysql-community-server

确认一下mysql的版本,有时可能会提示mysql5.6

3.安装mysql的开发包,以后会有用

$ yum install mysql-community-devel

4.启动mysql

$ service mysqld start

Redirecting to /bin/systemctl start  mysqld.service

5.查看mysql启动状态

$ service mysqld status

出现pid

证明启动成功

 

6.获取mysql默认生成的密码

$ grep 'temporary password' /var/log/mysqld.log

2015-12-05T05:41:09.104758Z 1 [Note] A temporary password is generated for root@localhost: %G1Rgns!dD!v</str></str>

加粗的就是生成的密码

7.换成自己的密码

$ mysql -uroot -p

Enter password:输入上面的密码

成功输入后进入一下步,这里你估计会输入 好几次才进去

 

8. 更换密码

mysql>  ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass4!';

这个密码一定要足够复杂,不然会不让你改,提示密码不合法;

9.退出mysql;

mysql> quit;

10.用新密码再登录,试一下新密码

$ mysql -uroot -p

Enter password:输入你的新密码

11.确认密码正确后,退出mysql;

mysql> quit;

编译安装php7.0.0

1.下载php7源码包

$ cd /root & wget -O php7.tar.gz http://cn2.php.net/get/php-7.0.1.tar.gz/from/this/mirror

2.解压源码包

$ tar -xvf php7.tar.gz

3.

$ cd php-7.0.1

4.安装php依赖包

$ yum install libxml2 libxml2-devel openssl openssl-devel bzip2 bzip2-devel libcurl libcurl-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel gmp gmp-devel libmcrypt libmcrypt-devel readline readline-devel libxslt libxslt-devel

 

5.编译配置,这一步我们会遇到很多configure error,我们一一解决,基本都是相关软件开发包没有安装导致

$ ./configure \
--prefix=/usr/local/php \
--with-config-file-path=/etc \
--enable-fpm \
--with-fpm-user=nginx  \
--with-fpm-group=nginx \
--enable-inline-optimization \
--disable-debug \
--disable-rpath \
--enable-shared  \
--enable-soap \
--with-libxml-dir \
--with-xmlrpc \
--with-openssl \
--with-mcrypt \
--with-mhash \
--with-pcre-regex \
--with-sqlite3 \
--with-zlib \
--enable-bcmath \
--with-iconv \
--with-bz2 \
--enable-calendar \
--with-curl \
--with-cdb \
--enable-dom \
--enable-exif \
--enable-fileinfo \
--enable-filter \
--with-pcre-dir \
--enable-ftp \
--with-gd \
--with-openssl-dir \
--with-jpeg-dir \
--with-png-dir \
--with-zlib-dir  \
--with-freetype-dir \
--enable-gd-native-ttf \
--enable-gd-jis-conv \
--with-gettext \
--with-gmp \
--with-mhash \
--enable-json \
--enable-mbstring \
--enable-mbregex \
--enable-mbregex-backtrack \
--with-libmbfl \
--with-onig \
--enable-pdo \
--with-mysqli=mysqlnd \
--with-pdo-mysql=mysqlnd \
--with-zlib-dir \
--with-pdo-sqlite \
--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-compression-support \
--with-pear \
--enable-opcache

configure error:

1.configure: error: xml2-config not found. Please check your libxml2 installation.

解决:

$ yum install libxml2 libxml2-devel

 

2.configure: error: Cannot find OpenSSL's <evp.h>

解决:

$ yum install openssl openssl-devel

 

3.configure: error: Please reinstall the BZip2 distribution

解决:

$ yum install bzip2 bzip2-devel

 

4.configure: error: Please reinstall the libcurl distribution - easy.h should be in <curl-dir>/include/curl/

解决:

$ yum install libcurl libcurl-devel

 

5.If configure fails try --with-webp-dir=<DIR> configure: error: jpeglib.h not found.

 

解决:

$ yum install libjpeg libjpeg-devel

6.If configure fails try --with-webp-dir=<DIR>

checking for jpeg_read_header in -ljpeg... yes

configure: error: png.h not found.

解决:

$ yum install libpng libpng-devel

 

7.If configure fails try --with-webp-dir=<DIR>

checking for jpeg_read_header in -ljpeg... yes

checking for png_write_image in -lpng... yes

If configure fails try --with-xpm-dir=<DIR>

configure: error: freetype-config not found.

解决:

$ yum install freetype freetype-devel

8.configure: error: Unable to locate gmp.h

解决:

$ yum install gmp gmp-devel

9.configure: error: mcrypt.h not found. Please reinstall libmcrypt.

解决:

$ yum install libmcrypt libmcrypt-devel

10.configure: error: Please reinstall readline - I cannot find readline.h

解决:

$ yum install readline readline-devel

11.configure: error: xslt-config not found. Please reinstall the libxslt >= 1.1.0 distribution

解决:

$ yum install libxslt libxslt-devel

 

6.编译与安装

$ make && make install

这里要make好久,要耐心一下

7.添加 PHP 命令到环境变量

$ vim /etc/profile

在末尾加入

PATH=$PATH:/usr/local/php/bin

export PATH

要使改动立即生效执行

$ ./etc/profile

或 

$ source /etc/profile

查看环境变量

$ echo $PATH

查看php版本

$ php -v

 

8.配置php-fpm

$ cp php.ini-production /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
$ cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
$ chmod +x /etc/init.d/php-fpm

9.启动php-fpm

$ /etc/init.d/php-fpm start

 

配置nginx虚拟机,绑定域名

1.

$ vim /etc/nginx/conf.d/php7.thinkcmf.com.conf

这里可以把php7.thinkcmf.com.conf改成自己的域名

把下面的内容复制到php7.thinkcmf.com.conf里

server{
    listen 80;
    server_name  php7.thinkcmf.com;
    root /var/www/html/php7.thinkcmf.com; # 该项要修改为你准备存放相关网页的路径
    location / {
        index  index.php index.html index.htm;
         #如果请求既不是一个文件,也不是一个目录,则执行一下重写规则
         if (!-e $request_filename)
         {
            #地址作为将参数rewrite到index.php上。
            rewrite ^/(.*)$ /index.php/$1;
            #若是子目录则使用下面这句,将subdir改成目录名称即可。
            #rewrite ^/subdir/(.*)$ /subdir/index.php/$1;
         }
    }
    #proxy the php scripts to php-fpm
    location ~ \.php {
            include fastcgi_params;
            ##pathinfo支持start
            #定义变量 $path_info ,用于存放pathinfo信息
            set $path_info "";
            #定义变量 $real_script_name,用于存放真实地址
            set $real_script_name $fastcgi_script_name;
            #如果地址与引号内的正则表达式匹配
            if ($fastcgi_script_name ~ "^(.+?\.php)(/.+)$") {
                    #将文件地址赋值给变量 $real_script_name
                    set $real_script_name $1;
                    #将文件地址后的参数赋值给变量 $path_info
                    set $path_info $2;
            }
            #配置fastcgi的一些参数
            fastcgi_param SCRIPT_FILENAME $document_root$real_script_name;
            fastcgi_param SCRIPT_NAME $real_script_name;
            fastcgi_param PATH_INFO $path_info;
            ###pathinfo支持end
        fastcgi_intercept_errors on;
        fastcgi_pass   127.0.0.1:9000;
    }
    
    location ^~ /data/runtime {
	return 404;
    }
	
    location ^~ /application {
	return 404;
    }
	
    location ^~ /simplewind {
	return 404;
    }
}

2.重启nginx

$ service nginx reload

3.

$ vim /var/www/html/php7.thinkcmf.com/index.php

 

把下面的代码复制到这个文件 里

<?php

phpinfo();

4.查看访问http://php7.thinkcmf.com

 

文章评论

 程序员的样子
程序员的样子
初级 vs 高级开发者 哪个性价比更高?
初级 vs 高级开发者 哪个性价比更高?
5款最佳正则表达式编辑调试器
5款最佳正则表达式编辑调试器
我是如何打败拖延症的
我是如何打败拖延症的
写给自己也写给你 自己到底该何去何从
写给自己也写给你 自己到底该何去何从
看13位CEO、创始人和高管如何提高工作效率
看13位CEO、创始人和高管如何提高工作效率
我的丈夫是个程序员
我的丈夫是个程序员
程序员应该关注的一些事儿
程序员应该关注的一些事儿
Web开发者需具备的8个好习惯
Web开发者需具备的8个好习惯
程序猿的崛起——Growth Hacker
程序猿的崛起——Growth Hacker
做程序猿的老婆应该注意的一些事情
做程序猿的老婆应该注意的一些事情
老程序员的下场
老程序员的下场
Google伦敦新总部 犹如星级庄园
Google伦敦新总部 犹如星级庄园
十大编程算法助程序员走上高手之路
十大编程算法助程序员走上高手之路
我跳槽是因为他们的显示器更大
我跳槽是因为他们的显示器更大
程序员的一天:一寸光阴一寸金
程序员的一天:一寸光阴一寸金
团队中“技术大拿”并非越多越好
团队中“技术大拿”并非越多越好
程序员都该阅读的书
程序员都该阅读的书
老美怎么看待阿里赴美上市
老美怎么看待阿里赴美上市
亲爱的项目经理,我恨你
亲爱的项目经理,我恨你
中美印日四国程序员比较
中美印日四国程序员比较
每天工作4小时的程序员
每天工作4小时的程序员
编程语言是女人
编程语言是女人
程序员最害怕的5件事 你中招了吗?
程序员最害怕的5件事 你中招了吗?
程序员周末都喜欢做什么?
程序员周末都喜欢做什么?
Java 与 .NET 的平台发展之争
Java 与 .NET 的平台发展之争
不懂技术不要对懂技术的人说这很容易实现
不懂技术不要对懂技术的人说这很容易实现
程序员眼里IE浏览器是什么样的
程序员眼里IE浏览器是什么样的
当下全球最炙手可热的八位少年创业者
当下全球最炙手可热的八位少年创业者
为啥Android手机总会越用越慢?
为啥Android手机总会越用越慢?
2013年美国开发者薪资调查报告
2013年美国开发者薪资调查报告
10个调试和排错的小建议
10个调试和排错的小建议
Web开发人员为什么越来越懒了?
Web开发人员为什么越来越懒了?
那些性感的让人尖叫的程序员
那些性感的让人尖叫的程序员
一个程序员的时间管理
一个程序员的时间管理
旅行,写作,编程
旅行,写作,编程
要嫁就嫁程序猿—钱多话少死的早
要嫁就嫁程序猿—钱多话少死的早
那些争议最大的编程观点
那些争议最大的编程观点
聊聊HTTPS和SSL/TLS协议
聊聊HTTPS和SSL/TLS协议
2013年中国软件开发者薪资调查报告
2013年中国软件开发者薪资调查报告
如何区分一个程序员是“老手“还是“新手“?
如何区分一个程序员是“老手“还是“新手“?
为什么程序员都是夜猫子
为什么程序员都是夜猫子
漫画:程序员的工作
漫画:程序员的工作
代码女神横空出世
代码女神横空出世
什么才是优秀的用户界面设计
什么才是优秀的用户界面设计
Java程序员必看电影
Java程序员必看电影
10个帮程序员减压放松的网站
10个帮程序员减压放松的网站
科技史上最臭名昭著的13大罪犯
科技史上最臭名昭著的13大罪犯
程序员必看的十大电影
程序员必看的十大电影
软件开发程序错误异常ExceptionCopyright © 2009-2015 MyException 版权所有