docker 安装php 开发环境安装前的准备⾸先建⼀个centos的镜像
docker pull centos:7.2.1511(docker 会⾃动会在你设置的registr mirrors⾥拉取镜像)
拉取完可以看看
让本地的10000端⼝号来印射到docker的centos容器并且进⼊到容器
docker run -i -t -p 10000:80 centos:v1 /bin/bash
----------------安装Nginx+PHP+MySql ----------------------
1.1 安装或更新gcc gcc-c++
因为我安装的Centos是绝对纯洁滴。啥也没有。没辙了。只有先安装个编译器了。
1# yum install gcc gcc-c++
1.2 创建需要使⽤的⽬录
source 是⽤来存放源码的⽂件夹。package是⽤来存放编译后的库⽂件。lnmp是我们真正需要的东西才放⾥⾯。(nginx+mysql+memcached+php)
mkdir /download
mkdir /lnmp
cd /download
mkdir package
mkdir source
⼆、开始安装(nginx篇)
2.1 解压pcre
命令流程:
1
2
3# cd /download/source/# tar -zxvf pcre-8.
说明:不需要编译,只需要解压就⾏。
2.2 解压zlib
命令流程:
1
2# cd /download/source/
3
# tar -zxvf zlib-1.2. 2.3 安装nginx
命令流程:
1
2
3
4
5
6
7# cd /download/source/# tar -zxvf nginx-1.8. # cd nginx-1.8.0# ./configure --prefix=/lnmp/nginx --with-pcre=/download/source/pcre-8.38 --with-zlib=/download/source/zlib-1.2.11# make # make install
--with-pcre:⽤来设置pcre的源码⽬录。
--with-zlib:⽤来设置zlib的源码⽬录。
因为编译nginx需要⽤到这两个库的源码。
⼩章总结:
此处告⼀段落,nginx安装完成。我们可以先满⾜下⾃⼰的欲望⼼。打开nginx服务看看Hello World吧。
启动nginx
1# /lnmp/nginx/sbin/nginx
启动后可以再浏览器中打开页⾯,会显⽰nginx默认页⾯。127.0.0.1:10000
三、开始安装(php篇)
3.1 安装libxml2
命令流程:
1
2
3
4
5
6
7
8# cd /download/source/# wget # tar -zxvf libxml2-2.9. # cd libxml2-2.9.3# ./configure --prefix=/package/libxml2 --with-python=no # make && make install
这⾥--with-python=no是
3.2 安装php
命令流程:
# cd /download/source/
# tar -zxvf php-7.2.
# cd php-7.2.7
# ./configure \
# --prefix=/lnmp/php \
# --with-libxml-dir=/package/libxml2 \ //打开libxml2库的⽀持
# --with-config-file-path=/lnmp/php/etc \ //配置⽂件所在⽬录
# --enable-mbstring \ //⽀持mbstring库
# --enable-fpm \ //⽀持php-fpm(推荐打开)
# --with-mysqli \ //打开mysqli模块
(由于代码⽐较长,这⾥把其复制出来给⼤伙看看:./configure --prefix=/lnmp/php --with-libxml-dir=/pa
ckage/libxml2 --with-config-file-path=/lnmp/php/etc --enable-mbstring --enable-fpm --with-mysqli)
# make
# make install
四、开始安装(mysql篇)
4.1 安装cmake
命令流程:
cd /downlaod/source/
tar -zxvf cmake-3.12.
cd cmake-3.12.0
./configure --prefix=/package/cmake
make
# make install
# export PATH=/package/cmake/bin:$PATH //设置环境变量。可忽略,只是为了你以后使⽤cmake⽅便点。
4.2 安装ncurses
命令流程:
tar -zxvf ncurses-6.
cd ncurses-6.1
./configure --prefix=/package/ncurses
make
make install
4.3 安装mysql
命令流程:
不带boost安装⽅式
1 2 3 4 5 6 7 8 9 10// 这个是不带boost版本的mysql源码。你可以使⽤以下的参数在编译过程中⾃动下载boost //
-DDOWNLOAD_BOOST=1 -DWITH_BOOST=/package/boost
nginx和apache区别# tar -zxvf mysql-5.7.
# cd mysql-5.7.10
# cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
11# -DDOWNLOAD_BOOST=1 -DWITH_BOOST=/package/boost \ //设置⾃动下载boost库,并放到-DWITH_BOOST指定的路径⾥。
# -DCURSES_LIBRARY=/package/ncurses/lib/libncurses.a \ //ncurses库libncurses.a
# -DCURSES_INCLUDE_PATH=/package/ncurses/include //ncurses库头⽂件
# make # make install
⾃带boost安装试
1 2 3 4 5 6 7 8 9# tar -zxvf mysql-boost-5.7.
# cd mysql-5.7.10
# cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
# -DWITH_BOOST=/boost/boost_1_59_0 //boost库的路径
# -DCURSES_LIBRARY=/package/ncurses/lib/libncurses.a \ //ncurses库libncurses.a # -DCURSES_INCLUDE_PATH=/package/ncurses/include //ncurses库头⽂件
# make
# make install
说明:mysql从5.7版本后就需要boost库的⽀持了。并且⾮常恶⼼的是mysql需要指定的boost版本号,⾼了或低了都有可能导致编译不通过。
注意:这⾥安装mysql报错了说下载boost失败啥的,采⽤其他的安装⽅式,先把boost下载下来,然后再安装的
# tar -zxvf mysql-5.7.
# cd /package
# tar -zxvf boost_1_59_
# cd /download/source/mysql-5.7.10
# cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DWITH_BOOST=/package/boost_1_59_0 -
DCURSES_LIBRARY=/package/ncurses/lib/libncurses.a -DCURSES_INCLUDE_PATH=/package/ncurses/include
# make && make install
到此,使⽤CentOS7上常⽤的、全新的Web模块基本已经完成了,剩下的就是对这些软件进⾏配置咯。哈哈,其实代码多,但是了解后真的挺简单,就那⼏个命令。怎么样?是不是蛮简单的。
----------------配置Nginx+PHP+MySql ------------------------
⼀、准备⼯作
1.1 安装vim
1# yum install vim
⼆、开始配置(nginx篇)
2.1 修改f
1# f
2.2 到如下内容,并删除红⾊标记的字符
1 2 3 4 5 6 7 8 9# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000 #
#location ~ \.php$ {
# root html;
# fastcgi_pass 127.0.0.1:9000;
# fastcgi_index index.php;
# fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name; # include fastcgi_params;
#}
2.3 修改完成
1 2 3 4 5 6 7 8 9# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
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;
}
可以新建⼀个vhost⽂件,先把f的80端⼝的server注释
然后加⼊这个
include vhost/*;
然后cd vhost ⾥
新建 f⽂件
server {
listen 80;
server_name localhost;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
root html;
index 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;
}
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000 #
location ~ \.php$ {
root html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name; include fastcgi_params;
}
# deny access to .htaccess files, if Apache's document root
# concurs with nginx's one
#
#location ~ /\.ht {
# deny all;
#}
}
2.4 关闭nginx
1/lnmp/nginx/sbin/nginx -s stop
2.5 启动nginx
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论