站長資訊網
        最全最豐富的資訊網站

        CentOS下安裝PHP7+Nginx+MySQL的方法詳解

        CentOS下安裝PHP7+Nginx+MySQL的方法詳解

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

        安裝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源更換為國內的阿里云源。yum安裝正常的可以跳過本步驟。

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

        http://mirrors.aliyun.com/

        1、備份你的原鏡像文件,以免出錯后可以恢復:

        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庫

        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查看編譯支持的選項。如果寫了不支持的選項,如php7里不支持--with-mysql=mysqlnd會提示:

        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

        可選項:

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

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

        關于:–enable-safe-mode

        開啟的話php可以執行一下系統函數,建議關閉(可搜索受此函數影響的php函數)

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

        php7編譯不用加這個配置。

        編譯比較耗內存和CPU。等待半小時左右,編譯完成:

        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]

        配置文件

        需要從安裝包里復制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

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

        配置php-fpm.conf

        ; 去掉里分號,方便以后重啟。建議修改 ; Default Value: none ; 下面的值最終目錄是/usr/local/php/var/run/php-fpm.pid ; 開啟后可以平滑重啟php-fpm pid = run/php-fpm.pid ; 設置錯誤日志的路徑,可以默認值 ; 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等級,可以默認值 ; Possible Values: alert, error, warning, notice, debug ; Default Value: notice log_level = notice ; 后臺運行,默認yes,可以默認值 ; Default Value: yes ;daemonize = yes ; 引入www.conf文件中的配置,可以默認值 include=/usr/local/php/etc/php-fpm.d/*.conf

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

        www.conf這是php-fpm進程服務的擴展配置文件:

        ; 設置用戶和用戶組,默認都是nobody。可以默認值 user = nginx group = nginx ; 設置PHP監聽 ; 下面是默認值,不建議使用。可以默認值 ; listen = 127.0.0.1:9000 ; 根據nginx.conf中的配置fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock; listen = /var/run/php-fpm/php-fpm.sock ######開啟慢日志。可以默認值 slowlog = /var/log/php-fpm/$pool-slow.log request_slowlog_timeout = 10s

        保存配置文件后,檢驗配置是否正確的方法為:

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

        如果出現諸如 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目錄添加到當前Linux系統的環境變量中:

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

        啟動php-fpm

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

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

        useradd www chown -R www:www /www

        檢測是否啟動:

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

        查看php-fpm進程數:

        ps aux | grep -c php-fpm

        php-fpm操作匯總:

        /usr/local/php/sbin/php-fpm         # php-fpm啟動 kill -INT `cat /usr/local/php/var/run/php-fpm.pid`      # php-fpm關閉 kill -USR2 `cat /usr/local/php/var/run/php-fpm.pid`         #php-fpm平滑重啟

        重啟方法二:

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

        如果無法平滑啟動,那就終止進程id:

        ps aux | grep php-fpm kill -9  1210  #1210指php-fpm進程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支持,請跳過這一步 # yum install openssl* # gzip 類庫安裝,按需安裝 # yum install zlib zlib-devel

        配置編譯參數

        $ 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

        設置軟連接:

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

        檢測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;          # 解決虛擬主機名字過長 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;# 顯示文件時間          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;     } }

        啟動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占用了。可以使用:

        chkconfig --list chkconfig nginx on service apache off

        禁止apache啟動并關閉apache服務。

        安裝擴展

        安裝swoole

        Swoole: PHP的異步、并行、高性能網絡通信引擎

        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

        服務器端:

        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

        默認編譯完后在當前目錄的src目錄下。可以復制可執行文件到其他地方:

        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

        復制配置文件

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

        或者安裝的時候指定位置:

        make PREFIX=/usr/local/redis install

        將Redis的命令所在目錄添加到系統參數PATH中:

        修改profile文件:

        vi /etc/profile

        在最后行追加:

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

        然后馬上應用這個文件:

        . /etc/profile

        這樣就可以直接調用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上搜到了一個可用的:

        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

        如果只是想快速搭建開發環境,可以使用yum進行安裝:

        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相關的擴展。

        如果是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 的歸檔。

        解壓縮后會消耗 57.7 MB 的額外空間。

        您希望繼續執行嗎? [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不一樣,會分開存放php.ini到/etc/php7/cli/php.ini和/etc/php7/fpm/php.ini里。這個需要注意。

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

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

        然后:

        pecl install swoole pecl install redis

        pecl安裝擴展完成后會提示添加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可以查看安裝的擴展。

        信號管理

        不重載配置啟動新/舊工作進程

        kill -HUP 舊/新版主進程號

        從容關閉舊/新進程

        kill -QUIT 舊/新主進程號

        如果此時報錯,提示還有進程沒有結束就用下面命令先關閉舊/新工作進程,再關閉主進程號:

        kill -TERM 舊/新工作進程號

        升級、添加或刪除模塊時,我們需要停掉服務器

        kill -USR2 舊版程序的主進程號或進程文件名

        MySQL

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

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

        rpm -qa | grep mysql

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

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

        安裝

        安裝編譯代碼需要的包

        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

        編譯的參數可以參考

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

        整個過程需要30分鐘左右……漫長的等待

        配置MySQL

        設置權限

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

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

        如果沒有就創建

        groupadd mysql useradd -g mysql mysql

        修改/usr/local/mysql權限

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

        修改/usr/local/mysql權限

        初始化配置

        進入安裝路徑

        cd /usr/local/mysql

        進入安裝路徑,執行初始化配置腳本,創建系統自帶的數據庫和表

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

        注:在啟動MySQL服務時,會按照一定次序搜索my.cnf,先在/etc目錄下找,找不到則會搜索"$basedir/my.cnf",在本例中就是 /usr/local/mysql/my.cnf,這是新版MySQL的配置文件的默認位置!

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

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

        啟動MySQL

        添加服務,拷貝服務腳本到init.d目錄,并設置開機啟動

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

        配置用戶

        MySQL啟動成功后,root默認沒有密碼,我們需要設置root密碼。

        設置之前,我們需要先設置PATH,要不不能直接調用mysql

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

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

        關閉文件,運行下面的命令,讓配置立即生效

        source /etc/profile

        現在,我們可以在終端內直接輸入mysql進入,mysql的環境了

        執行下面的命令修改root密碼

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

        若要設置root用戶可以遠程訪問,執行

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

        紅色的password為遠程訪問時,root用戶的密碼,可以和本地不同。

        配置防火墻

        防火墻的3306端口默認沒有開啟,若要遠程訪問,需要開啟這個端口

        打開/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

        然后保存,并關閉該文件,在終端內運行下面的命令,刷新防火墻配置:

        service iptables restart

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

        注意:

        CentOS 7中默認使用Firewalld做防火墻,所以修改iptables后,在重啟系統后,根本不管用。

        Firewalld中添加端口方法如下:

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

        常見問題

        1、編譯PHP提示easy.h should be in <curl-dir>/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

        贊(0)
        分享到: 更多 (0)
        網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
        主站蜘蛛池模板: 精品国产综合区久久久久久| 一本一本久久a久久综合精品蜜桃 一本一道精品欧美中文字幕 | 久久99精品国产| 亚洲精品无码专区久久久| 国产成人久久久精品二区三区| 国产精品无码A∨精品影院| 日韩精品欧美| 国产网红主播无码精品| 久久精品国产精品青草| 国产精品亚洲аv无码播放| 亚洲中文字幕久久精品无码APP| 久久精品无码免费不卡| 国产精品 91 第一页| 亚洲国产精品成| 久久99国产精品一区二区| 99精品高清视频一区二区| 99国产欧美精品久久久蜜芽| 久久久久久九九99精品| 一区二区国产精品 | 国产精品久线在线观看| 久久精品人人槡人妻人人玩AV| 亚洲国产精品无码一线岛国| 中文字幕久精品免费视频| 香蕉依依精品视频在线播放 | 99久久国语露脸精品国产| CAOPORM国产精品视频免费| 国产精品丝袜黑色高跟鞋| 国产最新进精品视频| 国产精品免费高清在线观看| 日本aⅴ精品中文字幕| 日本VA欧美VA精品发布| 久久99国产综合精品| 精品久久久久久久无码| 国产产无码乱码精品久久鸭| 国产99re在线观看只有精品| 国产亚洲综合成人91精品| 国产精品麻豆高清在线观看| 欧美精品香蕉在线观看网| 四虎精品成人免费永久| 国产精品免费视频观看拍拍| 久久99精品国产麻豆不卡|