国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

php Linux 下的環境安裝 包括 docker 下安裝 php-fpm nginx

FuisonDesign / 2812人閱讀

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

參考 地址:
https://github.com/lmxdawn/PH...
https://segmentfault.com/a/11...

后面持續更新

Linux下php環境安裝,這里僅供自己參考
安裝Apache 使用yum安裝

yum install httpd -y

安裝iptables 防火墻 使用yum安裝

yum install iptables -y 客戶端

yum install iptables-service -y 服務器端

安裝php5.6 因為考慮到yum安裝版本太低 用源碼安裝

下載源碼編譯文件

* wget http://mirrors.sohu.com/php/php-5.6.9.tar.xz (這里用的是搜狐的鏡像文件)

解壓

* tar xf php-5.6.9.tar.xz

安裝c編譯庫

* yum install gcc gcc-c++ -y

安裝php依賴的包??

* cd php-5.6.9
* ./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --enable-fpm --enable-pcntl --enable-mysqlnd --enable-opcache --enable-sockets --enable-sysvmsg --enable-sysvsem  --enable-sysvshm --enable-shmop --enable-zip --enable-ftp --enable-soap --enable-xml --enable-mbstring --disable-rpath --disable-debug --disable-fileinfo --with-mysql --with-mysqli --with-pdo-mysql --with-pcre-regex --with-iconv --with-zlib --with-mcrypt --with-gd --with-jpeg-dir --with-freetype-dir=/usr/local/freetype --with-openssl --with-mhash --with-xmlrpc --with-curl --with-imap-ssl

如果報錯 configure: error: xml2-config not found. Please check your libxml2 installation.
需要安裝 libxml2
* yum install libxml2 -y
* yum install libxml2-devel -y
重新執行 php依賴包

再次報錯 configure: error: Cannot find OpenSSL"s 
需要安裝 openssl
* yum install openssl openssl-devel -y
重新執行 php依賴包

再次報錯 configure: error: Please reinstall the libcurl distribution -easy.h should be in /include/curl/
curl的dev包沒有安裝
* yum install libcurl-devel -y
重新執行 php依賴包

再次報錯 configure: error: png.h not found.
* yum install libpng-devel -y
重新執行 php依賴包

再次報錯configure: error: mcrypt.h not found. Please reinstall libmcrypt.
* yum install libmcrypt-devel -y
重新執行 php依賴包

基本不報錯了 但是還可以在安裝一些
* yum install libjpeg-devel freetype-devel -y
重新執行 php依賴包

也可以一次性安裝全部需要的擴展 (注意用這個將意味著上面的報錯會不存在)
* yum install libxml2 libxml2-devel openssl openssl-devel libcurl-devel libpng-devel libmcrypt-devel libjpeg-devel freetype-devel -y
重新執行 php依賴包
直到出現
Thank you for using PHP.

config.status: creating php5.spec
config.status: creating main/build-defs.h
config.status: creating scripts/phpize
config.status: creating scripts/man1/phpize.1
config.status: creating scripts/php-config
config.status: creating scripts/man1/php-config.1
config.status: creating sapi/cli/php.1
config.status: creating sapi/fpm/php-fpm.conf
config.status: creating sapi/fpm/init.d.php-fpm
config.status: creating sapi/fpm/php-fpm.service
config.status: creating sapi/fpm/php-fpm.8
config.status: creating sapi/fpm/status.html
config.status: creating sapi/cgi/php-cgi.1
config.status: creating ext/phar/phar.1
config.status: creating ext/phar/phar.phar.1
config.status: creating main/php_config.h
config.status: main/php_config.h is unchanged
config.status: executing default commands
總算成功

開始安裝
    * make
出現這個 Don"t forget to run "make test". 沒什么問題
    * make install
完成安裝

下一步 把php的配置文件修改到 安裝目錄下面 并且修改名稱為php.ini
    * cp php.ini-production /usr/local/php/etc/php.ini?

當我們使用nginx還要把php-fpm.conf復制到/usr/local/php/etc/里頭
    * cp /root/php-5.6.9/sapi/fpm/php-fpm.conf /usr/local/php/etc/php-fpm.conf

將php-fpm作為server服務 (/root/php-5.6.9/是php的源碼編譯后的文件夾)
    * cp /root/php-5.6.9/sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm

設置權限,并添加服務
    * chmod +x /etc/init.d/php-fpm
    * chkconfig --add php-fpm

以后可以使用如下命令管理php-fpm了

    * service php-fpm start

    * service php-fpm stop

    * service php-fpm restart

    * service php-fpm reload

    后面有報錯直接 killall php-fpm (killall 殺死進程命令)

為了方便把php設置成為全局變量
    方法:
        全局的:
            cd / 到這個目錄編輯/etc/profile文件
            * cd /
            * cd /etc
            * vim profile
            加上
            PATH=/usr/local/php/bin:$PATH
            export PATH
            保存退出
            執行
            * source /etc/profile 
        局部的:
            * cd /
            * cd /home/
            * cd /lmx/ (這是例子 lmx 是你的用戶名)
            * ls -a 查看所有文件,包含隱藏的文件
            * vim bash_profile (這個是局部的,)
            加上
            source /etc/profile 
            保存退出
            執行 
            * source .bash_profile

        就OK了

        對了還有一個
        設置時區:
            修改php.ini 文件 中的 ;date.timezone = 為 date.timezone = PRC  中國時區

Nginx 安裝

安裝依賴

yum install pcre-devel -y

yum install zlib-devel -y

下載源碼包

cd /usr/local/src

wget http://nginx.org/download/ngi...

tar zxvf nginx-1.10.2.tar.gz

cd nginx-1.10.2

./configure --prefix=/usr/local/nginx

make && make install
啟動nginx

/usr/local/nginx/sbin/nginx
然后訪問這個IP可以看到nginx的歡迎界面

配置nginx支持php

cd /usr/local/nginx/conf

vim nginx.conf

set nu (顯示行號)
大約 64行

因為用thinkPHP5.0 所有用文檔上面提供的nginx配置
注意:

fastcgi_param SCRIPT_FILENAME 
這里后面的去掉 加上:
    * $document_root$fastcgi_script_name

保存后

查看進程

* ps -A | grep nginx

殺死進程

* killall nginx

啟動nginx

* /usr/local/nginx/sbin/nginx

Nginx 配置虛擬主機

cd /usr/local/nginx/conf

vim nginx.conf

添加對應的:

server {
    listen 80;
    server_name xxx.com;
    root   "/var/www/xxx.com/xxx/public";
    location / {
       if (!-e $request_filename) {
          rewrite  ^(.*)$  /index.php?s=/$1  last;
          break;
        }
        index  index.html index.htm index.php l.php;
       autoindex  off;
    }

    #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(.*)$  {
        fastcgi_pass   127.0.0.1:9000;
        fastcgi_index  index.php;
        fastcgi_split_path_info  ^((?U).+.php)(/?.+)$;
        fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
        fastcgi_param  PATH_INFO  $fastcgi_path_info;
        fastcgi_param  PATH_TRANSLATED  $document_root$fastcgi_path_info;
        include        fastcgi_params;
    }

    location ~.(jpg|jpeg|png|js|css) {
        expires 30d;
    }

}

MySQL 的安裝

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

* rpm -qa | grep mysql

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

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

安裝編譯源碼所需的工具和庫

* yum -y install  gcc gcc-c++ gcc-g77 autoconf automake zlib* fiex* libxml* ncurses-devel libmcrypt* libtool-ltdl-devel* make cmake

添加用戶

* groupadd mysql
* useradd -r -g mysql mysql

編譯安裝

* cd /usr/local/src
* wget http://mirrors.sohu.com/mysql/MySQL-5.6/mysql-5.6.34.tar.gz
* tar -zxvf mysql-5.6.34.tar.gz
* cd mysql-5.6.34

編譯參數:

* 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=/tmp/mysqld.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

          配置的注釋:

          -DCMAKE_INSTALL_PREFIX=/usr/local/mysql              #安裝路徑

          -DMYSQL_DATADIR=/usr/local/mysql/data                #數據文件存放位置

          -DSYSCONFDIR=/etc                                    #my.cnf路徑

          -DWITH_MYISAM_STORAGE_ENGINE=1                       #支持MyIASM引擎

          -DWITH_INNOBASE_STORAGE_ENGINE=1                     #支持InnoDB引擎

          -DWITH_MEMORY_STORAGE_ENGINE=1                       #支持Memory引擎

          -DWITH_READLINE=1                                    #快捷鍵功能(我沒用過)

          -DMYSQL_UNIX_ADDR=/tmp/mysqld.sock                   #連接數據庫socket路徑

          -DMYSQL_TCP_PORT=3306                                #端口

          -DENABLED_LOCAL_INFILE=1                             #允許從本地導入數據

          -DWITH_PARTITION_STORAGE_ENGINE=1                    #安裝支持數據庫分區

          -DEXTRA_CHARSETS=all                                 #安裝所有的字符集

          -DDEFAULT_CHARSET=utf8                               #默認字符

          -DDEFAULT_COLLATION=utf8_general_ci

編譯的參數可以參考http://dev.mysql.com/doc/refman/5.6/en/source-configuration-options.html

* make && make install

改變目錄所有者

* chown -R mysql:mysql /usr/local/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將使用這個配置文件啟動,可能造成無法正常啟動等問題。

進入安裝路徑

* cd /usr/local/mysql

注冊為服務

* cd /usr/local/mysql/support-files
#注冊服務
* cp mysql.server /etc/rc.d/init.d/mysql
#使用默認配置文件
* cp my-default.cnf /etc/my.cnf
#讓chkconfig管理mysql服務
* chkconfig --add mysql
#開機啟動
* chkconfig mysql on

初始化數據庫

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

啟動MySQL服務

* service mysql start

配置用戶

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");

配置遠程訪問權限
GRANT ALL PRIVILEGES ON *.* TO "root"@"%" IDENTIFIED BY "123456" WITH GRANT OPTION;
改變編碼,防止亂碼

SHOW VARIABLES LIKE "character%"

修改mysql的my.cnf文件

[client]
default-character-set=utf8

[mysqld]
character-set-server=utf8

[mysql]
default-character-set=utf8

下面來介紹 Docker 配置 php-fpm + nginx

簡介 : 這個自行百度

Docker 的安裝 (這里 介紹CentOS 7 )

參照 菜鳥教程 http://www.runoob.com/docker/...

uname -r 3.10.0-327.el7.x86_64 查看版本

yum -y install docker 這里 直接yum 安裝,

service docker start 啟動

這一步很關鍵 (配置 Docker 加速器) 不配置基本下載不了,墻的厲害

進入 https://dashboard.daocloud.io/ 先注冊一個賬號,沒收費, 然后登陸后 進入個人中心,里面有 加速器,點擊進入就好,然后就自己看了

這里附上我的

* curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://2327ed6d.m.daocloud.io

每個人的都不一樣,
php-fpm 安裝

參照菜鳥教程 http://www.runoob.com/docker/...

先切換盤

* cd 切換到 root

* mkdir -p ~/php-fpm/logs ~/php-fpm/conf  創建php-fpm文件夾,這隨自己意
* mkdir -p ~/nginx/www ~/nginx/logs ~/nginx/conf 創建 nginx 文件夾

查找Docker Hub上的php鏡像

* docker search php 

這里我用,標簽為5.6-fpm 5.6版本的

* docker pull php:5.6-fpm

創建完成后,我們可以在本地的鏡像列表里查找到剛剛創建的鏡像

* docker images 

運行容器

* docker run -p 9000:9000 --name  myphp-fpm -v ~/nginx/www:/www -v ~/php-fpm/conf:/usr/local/etc/php -v ~/php-fpm/logs:/phplogs   -d php:5.6-fpm

命令說明:

-p 9000:9000 :將容器的9000端口映射到主機的9000端口

--name myphp-fpm :將容器命名為myphp-fpm

-v ~/nginx/www:/www :將主機中~/nginx/www掛載到容器的/www (這里注意 等會配置nginx 的 fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; 要用這個 /www 替換 $document_root)

-v ~/php-fpm/conf:/usr/local/etc/php :將主機中~/php-fpm/conf目錄掛載到容器的/usr/local/etc/php

-v ~/php-fpm/logs:/phplogs :將主機中~/php-fpm/logs目錄掛載到容器的/phplogs

查看 容器是否啟動

* docker ps  如果這里沒有 證明啟動有誤,使用 docker ps -a 查看所有 看運行狀態 沒有 up 多少時間  就證明失敗

失敗就要先清除

* docker rm -f $(docker ps -a -q) 刪除所有容器 ($(docker ps -a -q) 這里可以用 id 或者 容器名稱)

成功 可以查看進入容器查看 進入后就跟Linux 操作一樣了

* docker exec -it myphp-fpm bash  進入容器 myphp-fpm 這個是容器名

查看所有容器的IP (這個也很重要 因為等會 配置 nginx 的時候會用到 fastcgi_pass 172.17.0.3:9000;) 172.17.0.3 是我這里的IP 9000 是剛剛啟動php-fpm時候的端口號

* docker inspect --format="{{.NetworkSettings.IPAddress}}" 容器id ($(docker ps -a -q) 代表所有)

接下來安裝 nginx

參照 菜鳥教程 http://www.runoob.com/docker/...

查找Docker Hub上的nginx鏡像

* docker search nginx

這里我拉取官方的鏡像

* docker pull nginx

創建完成后,我們可以在本地的鏡像列表里查找到剛剛創建的鏡像

* docker images 

使用nginx鏡像 運行容器 (運行前 先配置好配置變量)

進入 配置文件
    * cd ~/nginx/conf
    * mkdir conf.d  創建配置文件夾 (這里 nginx 一般的配置文件是 /etc/nginx/nginx.conf  但是我們不用 直接配置虛擬機 所有在 conf 下面創建 conf.d)
    * cd conf.d 進入配置文件
    * vi default.conf (這里對應 nginx 容器里面的 /etc/nginx/conf.d 里面的 default.conf 文件)
    
    default.conf 內容如下:
        server {
            listen       80;
            server_name  www.yuxin.com; #這里是我自己的域名

            location / {
                root   /usr/share/nginx/html; #這個是nginx 默認的靜態文件路徑 等會運行的時候會掛載到 這個文件夾 如果你掛載到其它文件夾自行調整
                index  index.html index.htm;
                #框架路由設置 這里我是 tp 框架 誰說tp 不好, 之前一直用 YII2 框架 ,誰好誰壞 就不說了,
                if ( !-e $request_filename ) {
                    rewrite ^(.*)$ /index.php?url=$1 last;
                    break;
                }
            }

            error_page   500 502 503 504  /50x.html;
            location = /50x.html {
                root   /usr/share/nginx/html;
            }

            location ~ .php$ {
                fastcgi_pass   172.17.0.3:9000; #這里的 172.17.0.3 就是 剛剛 myphp-fpm 容器的IP
                fastcgi_index  index.php;
                fastcgi_param  SCRIPT_FILENAME  /www$fastcgi_script_name; #這里的 /www 就是剛剛運行 myphp-fpm 的時候 掛載的 文件
                include        fastcgi_params;
            }
        }

運行容器:

* docker run -p 80:80 --name mynginx -v ~/nginx/www:/usr/share/nginx/html -v ~/nginx/conf/conf.d:/etc/nginx/conf.d -v ~/nginx/logs:/wwwlogs  -d nginx  

命令說明:

    -p 80:80:將容器的80端口映射到主機的80端口

    --name mynginx:將容器命名為mynginx

    -v ~/nginx/www:/usr/share/nginx/html:將主機中~/nginx/www掛載到容器的/usr/share/nginx/html

    -v ~/nginx/conf/conf.d:/etc/nginx/conf.d:將主機中~/nginx/conf.d掛載到容器的/etc/nginx/conf.d

    -v ~/nginx/logs:/wwwlogs:將主機中~/nginx/logs掛載到容器的/wwwlogs

這里再次說明一下 這個掛載是這么操作的 /usr/share/nginx/html 是容器 mynginx 的默認靜態文件存放路徑,我在 配置文件中 配置了 root /usr/share/nginx/html 如果配置的其它目錄自行更改

上面 運行 php-fpm 的時候 掛載的 /www 就是把 myphp-fpm 這個容器中的 /www 目錄掛載到 當前主機的 ~/nginx/www 下,就是說兩個容器的 都掛載到 ~/nginx/www 下, 這里配置錯了運行php文件會直接 下載 或者 報錯 file not found 意思就是 fastcgi_param SCRIPT_FILENAME /www$fastcgi_script_name; 這里有問題

查看 狀態

* docker ps 

一切 OK 后

測試 結果

* cd ~/nginx/www

* vi index.html

內容 : 

Hello World

* vi phpinfo.php 內容 :

你會發現 phpinfo 會有警告 date_default_timezone_set 沒有設置

這里因為 myphp-fpm 容器的配置文件 掛載到 當前主機的 ~/php-fpm/conf 目錄了 直接加上配置文件 即可

cd ~/php-fpm/conf

vi php.ini
加入 : date.timezone = PRC # 設置時區 PRC 就是中國

但是注意 還是要重新運行 myphp-fpm 容器

* docker restart myphp-fpm

大功告成,有什么問題歡迎討論

后面會附上 redis MySQL 的基本安裝

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/22216.html

相關文章

  • php Linux 環境安裝 包括 docker 安裝 php-fpm nginx

    摘要:在使用更新系統后,需要檢查下目錄下是否會多出一個,如果多出,將它重命名成別的。否則,將使用這個配置文件啟動,可能造成無法正常啟動等問題。 參考 地址:https://github.com/lmxdawn/PH...https://segmentfault.com/a/11... 后面持續更新 Linux下php環境安裝,這里僅供自己參考安裝Apache 使用yum安裝 yum inst...

    Simon 評論0 收藏0
  • php Linux 環境安裝 包括 docker 安裝 php-fpm nginx

    摘要:在使用更新系統后,需要檢查下目錄下是否會多出一個,如果多出,將它重命名成別的。否則,將使用這個配置文件啟動,可能造成無法正常啟動等問題。 參考 地址:https://github.com/lmxdawn/PH...https://segmentfault.com/a/11... 后面持續更新 Linux下php環境安裝,這里僅供自己參考安裝Apache 使用yum安裝 yum inst...

    asce1885 評論0 收藏0
  • 徒手用 Docker 構建自己的 PHP 開發環境

    摘要:用進行操作為在的工作區域,項目也是掛載在里面,所有我們可以直接在容器里運行。或者進入宿主機目錄下用命令注意事項注意掛載路徑構建失敗時,注意容器內是否報錯加速鏡像。本文首發在我的博客徒手用構建自己的開發環境 1. 前言 1.1 為什么要用 Docker ? 是否有這樣的場景,你搞了一個項目,在本地開發時需要搭建環境,放到線上時也需要搭建環境,到公司想暗戳戳玩一下要搭建環境,不搭還不行,因...

    CoreDump 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<