Centos編譯安裝PHP7+Nginx1.9+MySQL5.7

資源下載:http://pan.baidu.com/s/1c80Qtw密碼wuyh

一、MySQL編譯安裝

1、卸載舊版本

使用下面命令檢查系統是否安裝MySQL Server

rpm -qa | grep mysql


假如存在通過下面的命令來卸載

rpm	-e mysql   //普通卸載方式
rpm -e --nodeps mysql  //強力刪除方式,如果使用上面命令刪除時,提示有依賴的其它文件,則用該命令可以對其進行強力刪除


2、安裝boost庫

使用下面的命令檢查系統是否存在安裝boost

rpm -qa boost*


假如存在通過下面的命令來卸載

yum -y remove boost-*

下載boost_1_59_0.tar.gz必須使用1.59.0版本

把源碼複製到

/usr/local/boost/目錄下

3、安裝MySQL

安裝編譯代碼需要的依賴包

yum -y install gcc-c++ ncurses-devel cmake make perl gcc autoconf automake zlib libxml libgcrypt libtool bison

下載MySQL5.7.10

cd /usr/local/src
wget http://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.10.tar.gz
tar xvf mysql-5.7.10.tar.gz
cd mysql-5.7.10

創建用戶,組

groupadd mysql
mkdir /usr/local/mysql
mkdir /usr/local/mysql/data
useradd -g mysql -d /usr/local/mysql mysql


編譯mysql
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/usr/local/mysql/data -DSYSCONFDIR=/etc -DMYSQL_UNIX_ADDR=/usr/local/mysql/tmp/mysql.sock -DMYSQL_USER=mysql -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DENABLED_LOCAL_INFILE=ON -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_FEDERATED_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 -DDOWNLOAD_BOOST=1 -DWITH_BOOST=/usr/local/boost

安裝

make && make install


初始數據庫

cd /usr/local/mysql/bin
./mysqld --initialize --user=mysql --basedir=/home/mysql --datadir=/home/mysql/data

      一定要記住初始密碼


調整配置文件和環境變量參數

將默認生成的my.cnf備份

mv /etc/my.cnf /etc/my.cnf.bak

cd /usr/local/mysql/support-files

拷貝配置文件模板爲新的mysql配置文件

cp my-default.cnf /etc/my.cnf

可按需修改新的配置文件選項, 不修改配置選項, mysql則按默認配置參數運行.

如下是我修改配置文件/etc/my.cnf, 用於設置編碼爲utf8以防亂碼

[mysqld]
character_set_server=utf8
init_connect='SET NAMES utf8'
[client]
default-character-set=utf8

註釋最後一行代碼

# sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES 

不然進入mysql會報錯

複製啓動腳本到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/bin/

注:沒有這個文件就沒有mysql命令,不能在任意位置使用mysql 訪問數據庫

vim /etc/my.cnf


Error: Cannot retrieve metalink for repository: epel. Please verify its path and try again

處理很簡單,修改文件“/etc/yum.repos.d/epel.repo”, 將baseurl的註釋取消, mirrorlist註釋掉。即可


訪問數據庫

mysql -uroot -p

密碼爲剛纔生成的密碼

修改默認密碼

alter user 'root'@'localhost' identified by 'root';

注:不修改默認密碼,將不能正常使用sql,必須修改


二、安裝php

1、添加

useradd www

2、安裝組建擴展

yum install epel-* -y
yum install -y wget unzip gcc gcc-c++  make zlib zlib-devel pcre pcre-devel  libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel openssl openssl-devel openldap openldap-devel nss_ldap openldap-clients openldap-servers

3、安裝libiconv

wget http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.14.tar.gz
tar zxf libiconv-1.14.tar.gz
cd libiconv-1.14

執行

./configure --prefix=/usr

執行

make && make install

注意:

CentOS7編譯libiconv會出現

編譯libiconv發生./stdio.h:1010:1: 錯誤: ‘gets’未聲明(不在函數內)

解決辦法:

cd srclib/                                                               #進到出錯文件的目錄
sed -i -e '/gets is a security/d' ./stdio.in.h               #編輯出錯文件
cd ../                                                                    #回到編譯對象目錄
make                                                                    #重新Make


4、下載PHP7.0

wget http://php.net/distributions/php-7.0.0.tar.bz2
tar -jxvf php-7.0.0.tar.bz2
cd php-7.0.0

執行

./configure --prefix=/usr/local/php70 --sysconfdir=/usr/local/php70/etc --with-config-file-scan-dir=/usr/local/php70/etc --enable-fpm --with-fpm-user=www --with-fpm-group=www --enable-mbstring --enable-sockets --enable-pcntl --enable-pdo --enable-mysqlnd --with-mysql=mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --enable-sysvshm --enable-shmop  --with-jpeg-dir=/usr --with-freetype-dir=/usr --with-png-dir=/usr --with-zlib-dir=/usr --with-iconv=/usr/lib --with-gd --with-openssl --enable-opcache=no --enable-zip --enable-bcmath --enable-pcntl --enable-ftp --with-curl

執行

make && make install

執行

cp php.ini-production /usr/local/php70/etc/php.ini
cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm 
cp sapi/fpm/php-fpm.conf /usr/local/php70/etc/php-fpm.conf  
cp sapi/fpm/www.conf /usr/local/php70/etc/php-fpm.d/www.conf
cd ..

sed -i 's#short_open_tag = Off#short_open_tag = On#g' /usr/local/php70/etc/php.ini

chmod +x /etc/init.d/php-fpm


三、安裝nginx

1、下載nginx

wget http://nginx.org/download/nginx-1.9.7.tar.gz
tar -zxvf nginx-1.9.7.tar.gz
cd nginx-1.9.7

執行

./configure --user=www --group=www --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module

執行

make && make install

2、編輯配置文件

vi /usr/local/nginx/conf/nginx.conf


加上這一段代碼

        location ~ \.php$ {
            root           html;
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
            include        fastcgi_params;
        }

3、啓動nginx

/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf

重啓nginx

/usr/local/nginx/sbin/nginx -s reload

查看nginx版本

/usr/local/nginx/sbin/nginx -h

4、啓動php

service php-fpm start

四、運行

vim /usr/local/nginx/html/01.php
<?php
phpinfo();
?>


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章