最近2018中文字幕在日韩欧美国产成人片_国产日韩精品一区二区在线_在线观看成年美女黄网色视频_国产精品一区三区五区_国产精彩刺激乱对白_看黄色黄大色黄片免费_人人超碰自拍cao_国产高清av在线_亚洲精品电影av_日韩美女尤物视频网站

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
CentOS系統(tǒng)安裝PHP7并配置MySQL的方法

本文以centos6為例。命令部分均省略sudo命令。

創(chuàng)新互聯(lián)是一家集網(wǎng)站建設(shè),陵川企業(yè)網(wǎng)站建設(shè),陵川品牌網(wǎng)站建設(shè),網(wǎng)站定制,陵川網(wǎng)站建設(shè)報(bào)價(jià),網(wǎng)絡(luò)營(yíng)銷,網(wǎng)絡(luò)優(yōu)化,陵川網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競(jìng)爭(zhēng)力。可充分滿足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時(shí)我們時(shí)刻保持專業(yè)、時(shí)尚、前沿,時(shí)刻以成就客戶成長(zhǎng)自我,堅(jiān)持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實(shí)用型網(wǎng)站。

安裝PHP

下載

http://cn2.php.net/distributions/php-5.6.22.tar.bz2
http://cn2.php.net/distributions/php-7.0.7.tar.bz2

更新yum源

這里將Centos的yum源更換為國(guó)內(nèi)的阿里云源。yum安裝正常的可以跳過本步驟。

阿里云Linux安裝鏡像源地址:

http://mirrors.aliyun.com/

1、備份你的原鏡像文件,以免出錯(cuò)后可以恢復(fù):

mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup

2、下載新的CentOS-Base.repo 到/etc/yum.repos.d/

## CentOS 5
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-5.repo
## CentOS 6
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo
## CentOS 7
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

3、生成緩存

yum clean all
yum makecache

安裝依賴

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

需要編譯libmcrypt、mhash、mcrypt庫(kù)

tar zxvf /libmcrypt-2.5.8.tar.gz \
&& cd /libmcrypt-2.5.8 && ./configure && make && make install && cd - / && rm -rf /libmcrypt* \
&& tar zxvf /mhash-0.9.9.9.tar.gz && cd mhash-0.9.9.9 && ./configure && make && make install && cd - / && rm -rf /mhash* \
&& tar zxvf /mcrypt-2.6.8.tar.gz && cd mcrypt-2.6.8 && LD_LIBRARY_PATH=/usr/local/lib ./configure && make && make install && cd - / && rm -rf /mcrypt*

開始安裝

使用./configure --help查看編譯支持的選項(xiàng)。如果寫了不支持的選項(xiàng),如php7里不支持--with-MySQL=mysqlnd會(huì)提示:

configure: WARNING: unrecognized options: --with-mysql
wget http://cn2.php.net/distributions/php-7.0.7.tar.bz2
tar jxvf php-7.0.7.tar.bz2 
cd php-7.0.7
$ ./configure --prefix=/usr/local/php --with-config-file-scan-dir=/usr/local/php/etc/ --enable-inline-optimization --enable-opcache --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

可選項(xiàng):

--with-fpm-user=www --with-fpm-group=www

這里面開啟了很多擴(kuò)展。如果這時(shí)候忘了開啟,以后還能加上嗎?答案是可以的。以后只需要進(jìn)入源碼的ext目錄,例如忘了pdo_mysql,進(jìn)入ext/pdo_mysql,使用phpize工具,像安裝普通擴(kuò)展一樣即可生成pdo_mysql.so。

關(guān)于:--enable-safe-mode

開啟的話php可以執(zhí)行一下系統(tǒng)函數(shù),建議關(guān)閉(可搜索受此函數(shù)影響的php函數(shù))

#如果只需要配置某一個(gè)目錄可以執(zhí)行則 設(shè)置為on并指定 safe_mode_exec_dir=string目錄來執(zhí)行系統(tǒng)函數(shù)。
#本特性已自 PHP 5.3.0 起廢棄并將自 PHP 5.4.0 起移除。
safe_mode = off

php7編譯不用加這個(gè)配置。

編譯比較耗內(nèi)存和CPU。等待半小時(shí)左右,編譯完成:

Build complete.
Don't forget to run 'make test'.
Installing shared extensions:     /usr/local/php/lib/php/extensions/no-debug-non-zts-20151012/
Installing PHP CLI binary:        /usr/local/php/bin/
Installing PHP CLI man page:      /usr/local/php/php/man/man1/
Installing PHP FPM binary:        /usr/local/php/sbin/
Installing PHP FPM config:        /usr/local/php/etc/
Installing PHP FPM man page:      /usr/local/php/php/man/man8/
Installing PHP FPM status page:   /usr/local/php/php/php/fpm/
Installing phpdbg binary:         /usr/local/php/bin/
Installing phpdbg man page:       /usr/local/php/php/man/man1/
Installing PHP CGI binary:        /usr/local/php/bin/
Installing PHP CGI man page:      /usr/local/php/php/man/man1/
Installing build environment:     /usr/local/php/lib/php/build/
Installing header files:           /usr/local/php/include/php/
Installing helper programs:       /usr/local/php/bin/
  program: phpize
  program: php-config
Installing man pages:             /usr/local/php/php/man/man1/
  page: phpize.1
  page: php-config.1
Installing PEAR environment:      /usr/local/php/lib/php/
[PEAR] Archive_Tar    - installed: 1.4.0
[PEAR] Console_Getopt - installed: 1.4.1
[PEAR] Structures_Graph- installed: 1.1.1
[PEAR] XML_Util       - installed: 1.3.0
[PEAR] PEAR           - installed: 1.10.1
Wrote PEAR system config file at: /usr/local/php/etc/pear.conf
You may want to add: /usr/local/php/lib/php to your php.ini include_path
/php-7.0.7/build/shtool install -c ext/phar/phar.phar /usr/local/php/bin
ln -s -f phar.phar /usr/local/php/bin/phar
Installing PDO headers:           /usr/local/php/include/php/ext/pdo/
[root@e8ed9b00e80c php-7.0.7]# /usr/local/php/bin/php -m
[PHP Modules]
bcmath
bz2
Core
ctype
curl
date
dom
fileinfo
filter
gd
gettext
hash
iconv
json
libxml
mbstring
mcrypt
mysqli
mysqlnd
openssl
pcntl
pcre
PDO
pdo_mysql
pdo_sqlite
Phar
posix
readline
Reflection
session
shmop
SimpleXML
soap
sockets
SPL
sqlite3
standard
sysvmsg
sysvsem
sysvshm
tokenizer
xml
xmlreader
xmlrpc
xmlwriter
zip
zlib
[Zend Modules]

配置文件

需要從安裝包里復(fù)制php.ini、php-fpm.conf到安裝目錄:

$ cp php-7.0.7/php.ini* /usr/local/php/etc/
$ cd /usr/local/php/etc/
$ cp php.ini-production php.ini
$ cp php-fpm.conf.default  php-fpm.conf
$ cp php-fpm.d/www.conf.default php-fpm.d/www.conf
$ ls
pear.conf  php-fpm.conf.default  php.ini-development  php.ini-production

配置php.ini

# 不顯示錯(cuò)誤,默認(rèn)
display_errors = Off
# 在關(guān)閉display_errors后開啟PHP錯(cuò)誤日志(路徑在php-fpm.conf中配置),默認(rèn)
log_errors = On
# 字符集,默認(rèn)
default_charset = "UTF-8"
# 文件上傳大小,默認(rèn)值太小,建議修改10M
upload_max_filesize = 2M
# Maximum size of POST data that PHP will accept.  表單最大值,默認(rèn)是8M,如果表單含有多圖上傳,大小可能不夠。超過該大小后臺(tái)收不到 表單數(shù)據(jù)
post_max_size = 8M  
# 設(shè)置PHP的擴(kuò)展庫(kù)路徑,,默認(rèn)被注釋了。
extension_dir = "/usr/local/php7/lib/php/extensions/no-debug-non-zts-20151012/"
# 如果不設(shè)置extension_dir,也可以直接寫絕對(duì)位置:
# extension=/usr/local/php/lib/php/extensions/no-debug-non-zts-20151012/redis.so
# 設(shè)置PHP的時(shí)區(qū)
date.timezone = PRC
# 開啟opcache,默認(rèn)是0
[opcache]
; Determines if Zend OPCache is enabled
opcache.enable=1

配置php-fpm.conf

; 去掉里分號(hào),方便以后重啟。建議修改
; Default Value: none
; 下面的值最終目錄是/usr/local/php/var/run/php-fpm.pid
; 開啟后可以平滑重啟php-fpm
pid = run/php-fpm.pid
; 設(shè)置錯(cuò)誤日志的路徑,可以默認(rèn)值
; Note: the default prefix is /usr/local/php/var
; Default Value: log/php-fpm.log, 即/usr/local/php/var/log/php-fpm.log
error_log = /var/log/php-fpm/error.log
; Log等級(jí),可以默認(rèn)值
; Possible Values: alert, error, warning, notice, debug
; Default Value: notice
log_level = notice
; 后臺(tái)運(yùn)行,默認(rèn)yes,可以默認(rèn)值
; Default Value: yes
;daemonize = yes
; 引入www.conf文件中的配置,可以默認(rèn)值
include=/usr/local/php/etc/php-fpm.d/*.conf

配置www.conf(在php-fpm.d目錄下)

www.conf這是php-fpm進(jìn)程服務(wù)的擴(kuò)展配置文件:

; 設(shè)置用戶和用戶組,默認(rèn)都是nobody??梢阅J(rèn)值
user = nginx
group = nginx
; 設(shè)置PHP監(jiān)聽
; 下面是默認(rèn)值,不建議使用??梢阅J(rèn)值
; listen = 127.0.0.1:9000
; 根據(jù)nginx.conf中的配置fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
listen = /var/run/php-fpm/php-fpm.sock
######開啟慢日志??梢阅J(rèn)值
slowlog = /var/log/php-fpm/$pool-slow.log
request_slowlog_timeout = 10s

保存配置文件后,檢驗(yàn)配置是否正確的方法為:

/usr/local/php/sbin/php-fpm -t

如果出現(xiàn)諸如 test is successful 字樣,說明配置沒有問題。另外該命令也可以讓我們知道php-fpm的配置文件在哪。

建立軟連接:

ln -sf /usr/local/php/sbin/php-fpm /usr/bin/
ln -sf /usr/local/php/bin/php /usr/bin/
ln -sf /usr/local/php/bin/phpize /usr/bin/
ln -sf /usr/local/php/bin/php-config /usr/bin/
ln -sf /usr/local/php/bin/php-cig /usr/bin/

或者將php編譯生成的bin目錄添加到當(dāng)前Linux系統(tǒng)的環(huán)境變量中:

echo -e '\nexport PATH=/usr/local/php/bin:/usr/local/php/sbin:$PATH\n' >> /etc/profile && source /etc/profile

啟動(dòng)php-fpm

/usr/local/php/sbin/php-fpm

如果提示沒有www用戶(www.conf里填寫了www而不是nobody),則新增:

useradd www
chown -R www:www /www

檢測(cè)是否啟動(dòng):

ps aux |grep php-fpm # 另外該命令也可以讓我們知道fpm的配置文件在哪。
netstat -ant |grep 9000

查看php-fpm進(jìn)程數(shù):

ps aux | grep -c php-fpm

php-fpm操作匯總:

/usr/local/php/sbin/php-fpm         # php-fpm啟動(dòng)
kill -INT `cat /usr/local/php/var/run/php-fpm.pid`      # php-fpm關(guān)閉
kill -USR2 `cat /usr/local/php/var/run/php-fpm.pid`         #php-fpm平滑重啟

重啟方法二:

killall php-fpm
/usr/local/php/sbin/php-fpm &

如果無法平滑啟動(dòng),那就終止進(jìn)程id:

ps aux | grep php-fpm
kill -9  1210  #1210指php-fpm進(jìn)程id

安裝Nginx

nginx news
http://nginx.org/
http://nginx.org/download/nginx-1.11.1.tar.gz

依賴:

# 為了支持rewrite功能,我們需要安裝pcre
yum install pcre-devel
# 需要ssl的支持,如果不需要ssl支持,請(qǐng)?zhí)^這一步
# yum install openssl*
# gzip 類庫(kù)安裝,按需安裝
# yum install zlib zlib-devel

配置編譯參數(shù)

$ tar -zxvf nginx-1.11.1.tar.gz
$ cd nginx-1.11.1
$ ./configure \
    --prefix=/usr/local/nginx \
    --with-http_stub_status_module  \
    --with-http_ssl_module \
    --with-http_realip_module \
    --with-http_sub_module \
    --with-http_gzip_static_module \
    --with-pcre

配置ok:

Configuration summary
  + using system PCRE library
  + using system OpenSSL library
  + md5: using OpenSSL library
  + sha1: using OpenSSL library
  + using system zlib library
  nginx path prefix: "/usr/local/nginx"
  nginx binary file: "/usr/local/nginx/sbin/nginx"
  nginx modules path: "/usr/local/nginx/modules"
  nginx configuration prefix: "/usr/local/nginx/conf"
  nginx configuration file: "/usr/local/nginx/conf/nginx.conf"
  nginx pid file: "/usr/local/nginx/logs/nginx.pid"
  nginx error log file: "/usr/local/nginx/logs/error.log"
  nginx http access log file: "/usr/local/nginx/logs/access.log"
  nginx http client request body temporary files: "client_body_temp"
  nginx http proxy temporary files: "proxy_temp"
  nginx http fastcgi temporary files: "fastcgi_temp"
  nginx http uwsgi temporary files: "uwsgi_temp"
  nginx http scgi temporary files: "scgi_temp"

編譯安裝nginx

make
make install

設(shè)置軟連接:

ln -sf /usr/local/nginx/sbin/nginx /usr/sbin

檢測(cè)nginx:

nginx -t

顯示:

nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful

成功了。我們重新配置下nginx.conf:

#user  nobody;
worker_processes  1;
#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;
#pid        logs/nginx.pid;
events {
    worker_connections  1024;
}
http {
    include       mime.types;
    default_type  application/octet-stream;
    
    # 解決虛擬主機(jī)名字過長(zhǎng) http://www.jb51.net/article/26412.htm
    server_names_hash_bucket_size 128; 
    #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
    #                  '$status $body_bytes_sent "$http_referer" '
    #                  '"$http_user_agent" "$http_x_forwarded_for"';
    #access_log  logs/access.log  main;
    sendfile        on;
    #tcp_nopush     on;
    #keepalive_timeout  0;
    keepalive_timeout  65;
    #gzip  on;
    
    autoindex on;# 顯示目錄
    autoindex_exact_size on;# 顯示文件大小
    autoindex_localtime on;# 顯示文件時(shí)間
    
    include vhosts/*.conf;
}

配置localhost:

vhosts/localhost.conf
server {
    listen       80;
    server_name  localhost;
    #charset utf-8;
    #access_log  logs/host.access.log  main;
    location / {
        root   /www/www/;
        index  index.php index.html index.htm;
    }
    #error_page  404              /404.html;
    # redirect server error pages to the static page /50x.html
    #
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   html;
    }
    # proxy the PHP scripts to Apache listening on 127.0.0.1:80
    #
    #location ~ \.php$ {
    #    proxy_pass   http://127.0.0.1;
    #}
    # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
    #
    location ~ \.php$ {
        root           /www/www/;
        fastcgi_pass   127.0.0.1:9000;
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
        include        fastcgi_params;
    }
}

啟動(dòng)nginx:

/usr/local/nginx/sbin/nginx
# 或者
nginx

重啟:

/usr/local/nginx/sbin/nginx -s reload
# 或者
nginx -s reload

停止:

/usr/local/nginx/sbin/nginx -s stop
# 或者
nginx -s stop

如果提示80端口被占用了,可以使用ps aunx | grep 80查看。一般是apache占用了??梢允褂茫?/p>

chkconfig --list
chkconfig nginx on
service apache off

禁止apache啟動(dòng)并關(guān)閉apache服務(wù)。

安裝擴(kuò)展

安裝swoole

Swoole: PHP的異步、并行、高性能網(wǎng)絡(luò)通信引擎

http://www.swoole.com/

wget https://github.com/swoole/swoole-src/archive/swoole-1.8.5-stable.zip
unzip swoole-1.8.5-stable.zip
cd swoole-1.8.5-stable
phpize
./configure
make && make install

安裝redis

服務(wù)器端:

http://download.redis.io/releases/redis-3.2.0.tar.gz

$ wget http://download.redis.io/releases/redis-3.2.0.tar.gz
$ tar xzf redis-3.2.0.tar.gz
$ cd redis-3.2.0
$ make

默認(rèn)編譯完后在當(dāng)前目錄的src目錄下??梢詮?fù)制可執(zhí)行文件到其他地方:

mkdir /usr/local/redis
cd src
cp  redis-benchmark redis-check-aof redis-check-rdb redis-cli redis-sentinel redis-server redis-trib.rb /usr/local/redis

復(fù)制配置文件

$ cd redis-3.2.0
$ cp redis.conf /usr/local/redis/

或者安裝的時(shí)候指定位置:

make PREFIX=/usr/local/redis install

將Redis的命令所在目錄添加到系統(tǒng)參數(shù)PATH中:

修改profile文件:

vi /etc/profile

在最后行追加:

export PATH="$PATH:/usr/local/redis/bin"

然后馬上應(yīng)用這個(gè)文件:

. /etc/profile

這樣就可以直接調(diào)用redis-cli的命令了

客戶端:

2.0安裝

wget https://github.com/nicolasff/phpredis/archive/2.2.4.tar.gz
tar -zxvf 2.2.4
cd phpredis-2.2.4/
phpize
./configure 
make && make install

3.0安裝

phpredis/phpredis: A PHP extension for Redis
https://github.com/phpredis/phpredis

需要先安裝igbinary:

PECL :: Package :: igbinary

http://pecl.php.net/package/igbinary

wget http://pecl.php.net/get/igbinary-1.2.1.tgz
tar zxvf igbinary-1.2.1.tgz
cd igbinary-1.2.1
phpize
./configure 
make && make install
wget https://github.com/phpredis/phpredis/archive/3.0.0-rc1.zip
unzip 3.0.0-rc1
cd phpredis-3.0.0-rc1/
phpize
./configure [--enable-redis-igbinary]
make && make install

安裝memcache

pecl install memcache

php7安裝有兼容問題,從github上搜到了一個(gè)可用的:

git clone https://github.com/websupport-sk/pecl-memcache memcache
cd memcache
phpize
./confihure
make
make install

安裝memcached:

pecl install memcached

需要先安裝:

yum install libmemcached-dev

使用yum/apt-get安裝php

如果只是想快速搭建開發(fā)環(huán)境,可以使用yum進(jìn)行安裝:

yum install php-cli php-devel php-common php-pear  php-gd php-fpm php-mbstring php-mcrypt php-mysql php-sqlite3 php-pdo php-memcache

使用yum search php可以查詢到可以安裝哪些php相關(guān)的擴(kuò)展。

如果是ubuntu:

sudo apt-get install php7.0-cli php7.0-dev php-pear php7.0-common  php7.0-pdo php7.0-curl php7.0-gd php-redis php-xdebug php-memcache php7.0-fpm  composer

需要下載 15.9 MB 的歸檔。

解壓縮后會(huì)消耗 57.7 MB 的額外空間。

您希望繼續(xù)執(zhí)行嗎? [Y/n]

php-pear包含pecl,php-dev包含phpize,pecl依賴phpize。

需要注意的是,使用yum安裝的php,其配置文件位于:

/etc/php.ini
/etc/php-fpm.conf
/etc/php-fpm.d/www.conf
/etc/php.d/mysqli.ini
/etc/php.d/pdo.ini

ubuntu與centos不一樣,會(huì)分開存放php.ini到/etc/php7/cli/php.ini和/etc/php7/fpm/php.ini里。這個(gè)需要注意。

yum無法安裝的擴(kuò)展,可以使用pecl安裝。由于pecl是需要編譯的,所以需要先安裝編譯器:

yum install -y gcc gcc-c++ make cmake bison autoconf

然后:

pecl install swoole
pecl install redis

pecl安裝擴(kuò)展完成后會(huì)提示添加so文件到php.ini。示例:

Build process completed successfully
Installing '/usr/lib64/php/modules/swoole.so'
install ok: channel://pecl.php.net/swoole-1.9.11
configuration option "php_ini" is not set to php.ini location
You should add "extension=swoole.so" to php.ini

添加示例:

[swoole]
extension = /usr/lib64/php/modules/swoole.so

使用php -m可以查看安裝的擴(kuò)展。

信號(hào)管理

不重載配置啟動(dòng)新/舊工作進(jìn)程

kill -HUP 舊/新版主進(jìn)程號(hào)

從容關(guān)閉舊/新進(jìn)程

kill -QUIT 舊/新主進(jìn)程號(hào)

如果此時(shí)報(bào)錯(cuò),提示還有進(jìn)程沒有結(jié)束就用下面命令先關(guān)閉舊/新工作進(jìn)程,再關(guān)閉主進(jìn)程號(hào):

kill -TERM 舊/新工作進(jìn)程號(hào)

升級(jí)、添加或刪除模塊時(shí),我們需要停掉服務(wù)器

kill -USR2 舊版程序的主進(jìn)程號(hào)或進(jìn)程文件名

MySQL

如果存在舊版本,需要先卸載舊版本。

使用下面的命令檢查是否安裝有MySQL Server

rpm -qa | grep mysql

有的話通過下面的命令來卸載掉

rpm -e mysql   //普通刪除模式
rpm -e --nodeps mysql    // 強(qiáng)力刪除模式,如果使用上面命令刪除時(shí),提示有依賴的其它文件,則用該命令可以對(duì)其進(jìn)行強(qiáng)力刪除

安裝

安裝編譯代碼需要的包

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

下載MySQL 5.6.14:

wget http://cdn.mysql.com/Downloads/MySQL-5.6/mysql-5.6.14.tar.gz
tar xvf mysql-5.6.14.tar.gz
cd mysql-5.6.14

編譯安裝

cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DSYSCONFDIR=/etc \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_MEMORY_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 \
-DMYSQL_UNIX_ADDR=/var/lib/mysql/mysql.sock \
-DMYSQL_TCP_PORT=3306 \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DEXTRA_CHARSETS=all \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci\
-DMYSQL_USER=mysql
make && make install

編譯的參數(shù)可以參考

http://dev.mysql.com/doc/refman/5.5/en/source-configuration-options.html

整個(gè)過程需要30分鐘左右……漫長(zhǎng)的等待

配置MySQL

設(shè)置權(quán)限

使用下面的命令查看是否有mysql用戶及用戶組

cat /etc/passwd 查看用戶列表
cat /etc/group  查看用戶組列表

如果沒有就創(chuàng)建

groupadd mysql
useradd -g mysql mysql

修改/usr/local/mysql權(quán)限

chown -R mysql:mysql /usr/local/mysql

修改/usr/local/mysql權(quán)限

初始化配置

進(jìn)入安裝路徑

cd /usr/local/mysql

進(jìn)入安裝路徑,執(zhí)行初始化配置腳本,創(chuàng)建系統(tǒng)自帶的數(shù)據(jù)庫(kù)和表

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

注:在啟動(dòng)MySQL服務(wù)時(shí),會(huì)按照一定次序搜索my.cnf,先在/etc目錄下找,找不到則會(huì)搜索"$basedir/my.cnf",在本例中就是 /usr/local/mysql/my.cnf,這是新版MySQL的配置文件的默認(rèn)位置!

注意:在CentOS 6.4版操作系統(tǒng)的最小安裝完成后,在/etc目錄下會(huì)存在一個(gè)my.cnf,需要將此文件更名為其他的名字,如:/etc/my.cnf.bak,否則,該文件會(huì)干擾源碼安裝的MySQL的正確配置,造成無法啟動(dòng)。

在使用"yum update"更新系統(tǒng)后,需要檢查下/etc目錄下是否會(huì)多出一個(gè)my.cnf,如果多出,將它重命名成別的。否則,MySQL將使用這個(gè)配置文件啟動(dòng),可能造成無法正常啟動(dòng)等問題。

啟動(dòng)MySQL

添加服務(wù),拷貝服務(wù)腳本到init.d目錄,并設(shè)置開機(jī)啟動(dòng)

cp support-files/mysql.server /etc/init.d/mysql
chkconfig mysql on
service mysql start  --啟動(dòng)MySQL

配置用戶

MySQL啟動(dòng)成功后,root默認(rèn)沒有密碼,我們需要設(shè)置root密碼。

設(shè)置之前,我們需要先設(shè)置PATH,要不不能直接調(diào)用mysql

修改/etc/profile文件,在文件末尾添加

PATH=/usr/local/mysql/bin:$PATH
export PATH

關(guān)閉文件,運(yùn)行下面的命令,讓配置立即生效

source /etc/profile

現(xiàn)在,我們可以在終端內(nèi)直接輸入mysql進(jìn)入,mysql的環(huán)境了

執(zhí)行下面的命令修改root密碼

mysql -uroot  
mysql> SET PASSWORD = PASSWORD('123456');

若要設(shè)置root用戶可以遠(yuǎn)程訪問,執(zhí)行

mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'172.16.%' IDENTIFIED BY 'password' WITH GRANT OPTION;

紅色的password為遠(yuǎn)程訪問時(shí),root用戶的密碼,可以和本地不同。

配置防火墻

防火墻的3306端口默認(rèn)沒有開啟,若要遠(yuǎn)程訪問,需要開啟這個(gè)端口

打開/etc/sysconfig/iptables

在“-A INPUT –m state --state NEW –m tcp –p –dport 22 –j ACCEPT”,下添加:

-A INPUT -m state --state NEW -m tcp -p -dport 3306 -j ACCEPT

然后保存,并關(guān)閉該文件,在終端內(nèi)運(yùn)行下面的命令,刷新防火墻配置:

service iptables restart

OK,一切配置完畢,你可以訪問你的MySQL了~

注意:

CentOS 7中默認(rèn)使用Firewalld做防火墻,所以修改iptables后,在重啟系統(tǒng)后,根本不管用。

Firewalld中添加端口方法如下:

firewall-cmd --zone=public --add-port=3306/tcp --permanent
firewall-cmd --reload

常見問題

1、編譯PHP提示easy.h should be in /include/curl/

如果是centos:

yum install curl curl-devel

如果是ubuntu:

apt-get install libcurl4-gnutls-dev

如果還是沒有解決,直接編譯curl:

wget http://curl.haxx.se/download/curl-7.37.0.tar.gz
tar zxvf curl-7.37.0.tar.gz
cd curl-7.37.0.
./configure --prefix=/usr/local --enable-shared 
make
make install

以上就是CentOS下安裝PHP7+Nginx+MySQL的方法詳解的詳細(xì)內(nèi)容,更多請(qǐng)關(guān)注創(chuàng)新互聯(lián)其它相關(guān)文章!


分享標(biāo)題:CentOS系統(tǒng)安裝PHP7并配置MySQL的方法
分享URL:http://fisionsoft.com.cn/article/goiehj.html