文档章节

centos6.5 安装PHP7+nignx+msyql

leeyi
 leeyi
发布于 2016/10/25 15:01
字数 1124
阅读 60
收藏 0
点赞 0
评论 0

安装PHP

安装PHP相关依赖


yum install enchant enchant-devel gmp-devel libc-client libc-client-devel pam-devel firebird-devel libicu-devel openldap openldap-devel libmcrypt-devel unixODBC-devel freetds freetds-devel
yum install -y gcc gcc-c++ make cmake bison autoconf wget lrzsz
yum install -y libtool libtool-ltdl-devel 
yum install -y freetype-devel libjpeg.x86_64 libjpeg-devel libpng-devel gd-devel
yum install -y python-devel  patch  sudo 
yum install -y openssl* openssl openssl-devel ncurses-devel
yum install -y bzip* bzip2 unzip zlib-devel
yum install -y libevent*
yum install -y libxml* libxml2-devel
yum install -y libcurl* curl-devel 
yum install -y readline-devel

make && make install && make clean

源码安装

wget http://cn2.php.net/distributions/php-7.0.12.tar.gz
tar xzf php-7.0.12.tar.gz 
cd cd php-7.0.12


./configure --prefix=/usr/local/php --with-config-file-scan-dir=/usr/local/php/etc/ --enable-inline-optimization --enable-session --enable-fpm --with-mysql=mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-pdo-sqlite --with-sqlite3 --with-gettext --enable-mbregex --enable-mbstring --enable-xml --with-iconv --with-mcrypt --with-mhash --with-openssl --enable-bcmath --enable-soap --with-xmlrpc --with-libxml-dir --enable-pcntl --enable-shmop --enable-sysvmsg --enable-sysvsem --enable-sysvshm --enable-sockets --with-curl --with-curlwrappers --with-zlib --enable-zip --with-bz2 --with-gd --enable-gd-native-ttf --with-jpeg-dir --with-png-dir --with-freetype-dir --with-iconv-dir --with-readline

make

make install && make clean

 ln -s /usr/local/php/bin/php /usr/local/bin/php
 ln -s /usr/local/php/sbin/php-fpm /usr/local/bin/php-fpm
 
 php -v
PHP 7.0.12 (cli) (built: Oct 24 2016 22:29:41) ( NTS )

PHP 5.6及以上已经内置了php-fpm,不需要再使用外挂的方式安装php-fpm。只需要编译时加上“--enable-fpm”参数即可。

以上为只标注了部份php扩展,如需打开全部扩展,可以使用"--enable-all",如若需要查看具体参数说明,可通过如下命令查看:

> ./configure --help

错误处理

ext/date/php_date.lo' is not a valid libtool object

./configure 后,直接make可能会出现libtool: link: 'ext/date/php_date.lo' is not a valid libtool object 的错误。 make clean 一下然后再make,即可。原因未知,可能是某些脚本执行顺序的问题?做个标记~

配置PHP

A,配置php.ini文件

cp /root/php-7.0.12/php.ini-production /usr/local/php/etc/php.ini

vim /usr/local/php/etc/php.ini

> display_errors=Off

> default_time_zone=Asia/Chongqing

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


#### B,启动php-fpm

> # /usr/local/php/sbin/php-fpm -D

安装 nginx

安装依赖

yum -y install gcc pcre pcre-devel zlib zlib-devel openssl openssl-devel

源码安装

wget http://nginx.org/download/nginx-1.11.5.tar.gz
tar xzf nginx-1.11.5.tar.gz
cd nginx-1.11.5

./configure \
--prefix=/usr/local/nginx \
--sbin-path=/usr/sbin/nginx  \
--conf-path=/usr/local/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  \
--http-client-body-temp-path=/var/cache/nginx/client_temp  \
--http-proxy-temp-path=/var/cache/nginx/proxy_temp  \
--http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp  \
--http-uwsgi-temp-path=/var/cache/nginx/uwsgi_temp  \
--http-scgi-temp-path=/var/cache/nginx/scgi_temp  \
--user=nginx  \
--group=nginx   \
--with-http_ssl_module  \
--with-http_realip_module  \
--with-http_addition_module  \
--with-http_sub_module  \
--with-http_dav_module  \
--with-http_flv_module  \
--with-http_mp4_module  \
--with-http_gunzip_module  \
--with-http_gzip_static_module \
--with-http_random_index_module \
--with-http_secure_link_module \
--with-http_stub_status_module \
--with-http_auth_request_module  \
--with-file-aio  \
--with-ipv6  \
--with-pcre  

make

make install && make clean

nginx -v
    nginx version: nginx/1.11.5

vim /usr/local/nginx/nginx.conf


#/usr/sbin/groupadd -f nginx
#/usr/sbin/useradd -g nginx nginx

错误处理

nginx安装 nginx: [emerg] getpwnam(“www”) failed 错误 参考

linux 64系统中安装nginx1.3时如果出现错误:nginx: [emerg] getpwnam(“www”) failed

  • 解决方法1: 在nginx.conf中 把user nobody的注释去掉既可
  • 解决方法2: 错误的原因是没有创建nginx这个用户,应该在服务器系统中添加nginx用户组和用户nginx,如下命令:
#/usr/sbin/groupadd -f nginx
#/usr/sbin/useradd -g nginx nginx

安装 Mysql

安装依赖

yum -y install make gcc-c++ cmake bison-devel ncurses-devel perl


wget http://sourceforge.net/projects/boost/files/boost/1.59.0/boost_1_59_0.tar.gz
tar xzf boost_1_59_0.tar.gz
cd boost_1_59_0
./bootstrap.sh

./b2 install --prefix=/usr/local/boost


# 创建用户,组

groupadd mysql
mkdir /home/mysql  #自定义位置
mkdir /home/mysql/data  #自定义位置
useradd -g mysql -d /home/mysql mysql

下载安装

安装5.7*版本没有搞好

wget https://github.com/mysql/mysql-server/archive/mysql-5.6.34.tar.gz
tar xzf mysql-5.7.15.tar.gz 
cd mysql-server-mysql-5.7.15

cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/home/mysql/data -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DMYSQL_TCP_PORT=3306 -DMYSQL_USER=mysql -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1 -DDOWNLOAD_BOOST=1 -DWITH_BOOST=/usr/local/boost

make && make install

初始化数据库

进入安装补录下的bin目录下,执行

/usr/local/mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/home/mysql/data

注:默认密码为空

调整配置文件和环境变量参数

将默认生成的my.cnf备份


> mv /etc/my.cnf /etc/my.cnf.bak
> cp /usr/local/mysql/support-files/my-default.cnf /etc/my.cnf

# 如下是我修改配置文件/etc/my.cnf, 用于设置编码为utf8以防乱码

[mysqld]

character_set_server=utf8

init_connect='SET NAMES utf8'

[client]

default-character-set=utf8

# 复制启动脚本到init.d下
> cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld

# 增加执行权限
> chmod 755 /etc/init.d/mysqld

# 创建mysql命令文件
> ln -s /usr/local/mysql/bin/mysql /usr/sbin/mysql 
注:没有这个文件就没有mysql命令,不能在任意位置使用mysql 访问数据库

启动mysql

service mysqld start

访问数据库

mysql -uroot -p

修改默认密码

use mysql; update user set password=PASSWORD("123456") where user='root';

创建超级用户

GRANT ALL PRIVILEGES ON . TO 'admin'@'localhost' IDENTIFIED BY '123456' WITH GRANT OPTION;

GRANT ALL PRIVILEGES ON pengshi_develop.* TO 'admin'@'localhost' IDENTIFIED BY '123456' WITH GRANT OPTION; GRANT ALL PRIVILEGES ON pengshi_develop.* TO 'admin'@'127.0.0.1' IDENTIFIED BY '123456' WITH GRANT OPTION;

配置开机启动


vim /etc/rc.d/rc.local

# 添加如下参数
/usr/sbin/nginx

/usr/local/bin/php-fpm -D

service mysqld start

# 然后
chmod +x /etc/rc.d/rc.local

© 著作权归作者所有

共有 人打赏支持
leeyi
粉丝 5
博文 46
码字总数 52465
作品 0
深圳
后端工程师
本地yum源搭建(包括httpd安装)

本地yum源搭建(包括httpd安装) 适用于服务器与外网隔离,或与外网连接速度慢,要使用yum安装某些包的情况。 CentOS本地源安装 1、下载CentOS的安装文件 从 http://vault.centos.org/ 下载与...

OttoWu
2016/12/23
35
0
CentOS6.5 64bit如何安装DNS服务dnsmasq加速网站访问

CentOS6.5 64bit如何安装DNS服务dnsmasq加速网站访问 技术奇客|ITGeeker2017-02-2037 阅读 DNS dnsmasq是个非常小巧的dns服务器,可以解决小范围的dns查询问题,建议内网终端不要超过50台主机...

技术奇客|ITGeeker
2017/02/20
0
0
CentOS6.5环境下搭建Apache httpd服务器

CentOS6.5环境下搭建Apache httpd服务器 前期准备: 1、CentOS6.5虚拟系统; 2、CentOS6.5 IP地址:192.168.2.99 3、虚拟系统能上外网 下面我们就开始配置: 第一步:安装 首先我们需要把Apa...

推荐码发放
05/06
0
0
Docker虚拟化技术系列之-Docker安装配置

如何在Centos6.x系列服务器安装,默认docker只有在centos6.5以上机器才能使用yum直接安装,如果其他版本需要安装centos扩展源epel。 docker官方文档说要求Linux kernel至少3.8以上,一般为c...

wgkgood
2017/02/21
0
0
CentOS6.5搭建本地yum源(http方式) nginx

CentOS6.5搭建本地yum源(http方式) YUM主要用于自动升级、安装移除rpm软件包,它能自动查找并解决rpm包之间的依赖关系,要成功的使用YUM工具更新系统和软件,需要有一个包含各种rpm软件包的r...

lijunboy008
2017/07/06
0
0
redis分片存储集群的搭建

环境说明: twemproxy安装: [root@localhost src]# tar -zxf nutcracker-0.4.0.tar.gz [root@localhost src]# cd nutcracker-0.4.0[root@localhost nutcracker-0.4.0]# ./configure --prefi......

yacai1990
2016/07/11
0
0
linux新手入门必看

linux运维工程师是目前IT行业是比较吃香的职业,很多人认为,缺口的,需求量大,工作一定很好找,薪资高,不错,Linux相关工作很好找,但是,薪资的高低更多的是取决于你所掌握的技术。那么,...

python入门
2017/12/11
0
0
Hadoop1.2.1分布式安装-1-准备篇

说明:本文仅为提纲,每一步具体怎么操作请见博客中其他文章 1、准备两台CentOS6.5虚拟机。请确认iptables和selinux等防火墙或访问控制机制已关闭。 chkconfig iptables offservice iptables...

悟空太多啦
2014/07/27
0
0
安装命令提示符版CentOS6.5

使用Workstations 12 PRO安装CentOS有两种方式显示,一是命令提示符方式,就是相当于cmd一样。另外一种是图形化界面,和windoes差不多,但图形化界面安装内存必须大于768MB,否则无法进行,为...

Tan_
2017/05/11
0
0
在哪里报linux运维培训班更好找工作?薪资高

linux运维工程师是目前IT行业是比较吃香的职业,很多人认为,缺口的,需求量大,工作一定很好找,薪资高,不错,Linux相关工作很好找,但是,薪资的高低更多的是取决于你所掌握的技术。那么,...

运维自动化
2017/12/11
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

什么是Base64

一、什么是Base64? 百度百科中对Base64有一个很好的解释:“Base64是网络上最常见的用于传输8Bit字节码的编码方式之一,Base64就是一种基于64个可打印字符来表示二进制数据的方法”。 什么是...

Jack088
6分钟前
0
0
SQL多表联查leftjoin左边加表单

SELECT IFNULL(u.USER_ACCOUNT, o.USER_ACCOUNT) u.USER_ACCOUNT, o.* FROM gh_orders o LEFT JOIN gh_user u ON o.PARENT_ID = u.ROW_ID 1.假如u.USER_ACCOUNT不空返回u.USER_ACCOUNT,否则返......

森火
10分钟前
0
0
expect脚本同步文件、expect脚本指定host和要同步的文件、构建文件分发系统

expect脚本同步文件 更改权限 执行脚本 查看执行结果 expect eof需要加上,作用是等脚本命令执行完再进行退出 expect脚本指定host和要同步的文件 更改权限,执行脚本 构建文件分发系统 需求背...

Zhouliang6
48分钟前
1
0
Hive应用:外部分区表

Hive应用:外部分区表 介绍 Hive可以创建外部分区表。创建表的时候,分区要在建表语句中体现。建完之后,你不会在表中看到数据,需要进行分区添加,使用alter语句进行添加。然后数据才会显示...

星汉
58分钟前
3
0
点击Enter登录

1. 效果 2. 实现过程(记得引入jq文件) //6.回车事件 登录 $(function() { document.onkeydown = function(event) { var e = event || window.event || arguments.callee.caller.arguments......

Lucky_Me
今天
1
0
点击菜单内容切换

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <style> .menu{ height: 38px; background-color: #eeeeee; line-height: 38px; } .mao{ ......

南桥北木
今天
1
0
OSChina 周六乱弹 —— 妹子和游戏哪个更好玩

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @andonny :分享唐朝乐队的单曲《国际歌》 《国际歌》- 唐朝乐队 手机党少年们想听歌,请使劲儿戳(这里) @举个栗子- :日常祈雨 邪恶的大祭...

小小编辑
今天
613
8
流利阅读笔记32-20180721待学习

“人工智能”造假:只有人工,没有智能 Lala 2018-07-21 1.今日导读 当今社会,擅长单个方面的人工智能已经盛行,手机借助 AI 智慧防抖技术帮助大家拍出清晰照片,谷歌研发的 AI 助手将可以帮...

aibinxiao
今天
10
0
我的成长记录(一)

今天突然精神抖擞,在我的博客下新开一项分类>成长记录,专门记录每隔一段时间我的一点感悟吧。因为今天才专门花时间新开这样一个分类,所以以前有过的一些感悟没有记录下来,现在已经想不起...

dtqq
今天
1
0
机器学习管理平台 MLFlow

最近工作很忙,博客一直都没有更新。抽时间给大家介绍一下Databrick开源的机器学习管理平台-MLFlow。 谈起Databrick,相信即使是不熟悉机器学习和大数据的工程湿们也都有所了解,它由Spark的...

naughty
今天
19
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部