#创建redis
docker create -p 6379:6379 -v redis:/data --restart=always --name myredis redis

#创建mysql
docker create --name mysql -p 3306:3306 -v mysql:/var/lib/mysql --restart=always -e MYSQL_ROOT_PASSWORD=Abc@123456 mysql:5.6 --character-set-server=utf8 --collation-server=utf8_general_ci

#创建nginx

server {
listen 80 default;
server_name huolicai.local;
access_log /var/log/nginx/huolicai_access.log;
error_log /var/log/nginx/huolicai_error.log;
location / {
root /data/shared/huolicai/public;
index index.php index.html;
if (-f $request_filename) {
break;
}
if (!-e $request_filename) {
rewrite ^(.*)$ /index.php/$1 last;
break;
}
}
location ~ .+\.php($|/) {
root /data/shared/huolicai/public;
fastcgi_pass 127.0.0.1:9000;
fastcgi_split_path_info ^((?U).+.php)(/?.+)$;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;
fastcgi_param SCRIPT_FILENAME $document_root/$fastcgi_script_name;
include fastcgi_params;
}
}
1,分别下载到/usr/local/src
http://nginx.org/download/nginx-1.12.2.tar.gz
https://ftp.pcre.org/pub/pcre/pcre-8.41.tar.gz
https://www.openssl.org/source/openssl-1.1.0g.tar.gz
http://www.zlib.net/zlib-1.2.11.tar.gz

2,
第一步:tar zxf 命令分别解压上面文件
第二步:cd nginx-1.12.2 执行 ./configure --prefix=/usr/local/nginx --with-pcre=/usr/local/src/pcre-8.41/ --with-openssl=/usr/local/src/openssl-1.1.0g/ --with-zlib=/usr/local/src/zlib-1.2.11/
第三步:make && make install
第四步:ln -s /usr/local/nginx/sbin/nginx /usr/local/bin/ (添加环境变量,可以全局执行 nginx 命令)
第五步:(设置到系统命令+开机自动启动)
1, vim /lib/systemd/system/nginx.service (下面更改成对应的nging目录)

[Unit]
Description=nginx
After=network.target
[Service]
Type=forking
ExecStart=/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
ExecReload=/usr/local/nginx/sbin/nginx -s reload
ExecStop=/usr/local/nginx/sbin/nginx -s quit
PrivateTmp=true
[Install]
WantedBy=multi-user.target

2, 确保nginx关闭掉,然后: systemctl start nginx.service
3, 设置开机启动 systemctl enable nginx.service
4, 如果要把php也设置成系统命令 和开机启动
首先: /lib/systemd/system/php-fpm.service
其次:
[Unit]
Description=php-fpm
After=network.target
[Service]
Type=forking
ExecStart=/www/lnmp/php/sbin/php-fpm
PrivateTmp=true
[Install]
WantedBy=multi-user.target
然后:关闭php 执行 systemctl start php-fpm.service
最后:确保开机启动 systemctl enable php-fpm.service (参考https://www.jianshu.com/p/b5fa86d54685)

#创建rabbitmq
docker create --name rabbitmq -v rabbitmq:/var/lib/rabbitmq --restart=always -p 5672:5672 -p 15672:15672 -e RABBITMQ_DEFAULT_USER=monitor -e RABBITMQ_DEFAULT_PASS=Abc@123456 rabbitmq:3.7.3-management

#编译php7

1,yum install bison-devel readline-devel zlib-devel pcre-devel libedit-devel libxml2-devel gd ncurses-devel openssl-devel libcurl-devel libpng-devel libjpeg-turbo-devel libicu-devel libmcrypt-devel gd-devel
yum groupinstall "Development Tools"

2,wget http://hk2.php.net/get/php-7.1.15.tar.gz/from/this/mirror

3,mv mirror php7.tar.gz

4,tar xzf php7.tar.gz

5, groupadd php-fpm
useradd -r -g php-fpm -M

6,cd 到解压后的php-7.1.15文件夹 ,执行:
./configure --prefix=/usr/local/php7 --enable-fpm --with-zlib --enable-mbstring --with-openssl --with-mysqli --with-pdo-mysql --with-curl --enable-zip --enable-bcmath --enable-intl --with-xmlrpc --with-fpm-user=php-fpm --with-fpm-group=php-fpm

7,make && make install

8, mv /usr/local/src/php-7.1.5/php.ini-development /usr/local/php7/lib/php.ini

9, 编辑php.ini data.timezone=PRC

10. cp /usr/local/php7/etc/php-fpm.conf.default ./php-fpm.conf

10, cp /usr/local/src/php-7.1.15/sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm #加入开机启动

11, chmod +x "/etc/init.d/php-fpm" 添加权限

12,ln -s /usr/local/php7/bin/php-config /usr/local/bin #加入环境变量
ln -s /usr/local/php7/bin/php-config /usr/local/bin
ln -s /usr/local/php7/bin/php-config /usr/local/bin

#安装git
1. yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel gcc perl-ExtUtils-MakeMaker

2,下载git (https://www.kernel.org/pub/software/scm/git/)
wget https://www.kernel.org/pub/software/scm/git/git-2.8.3.tar.gz
tar zxf 对应文件
cd 解压后的文件 ./configure prefix=/usr/local/git/
make && make install
查看git版本号 git --version
3, 生成key:
首先:cd ~/.ssh 然后ls看看有没有key
其次:ssh-keygen
然后:把pub的key加入到git仓库
然后:本地拉取 git clone 代码地址

#安装composer
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('SHA384', 'composer-setup.php') === '544e09ee996cdf60ece3804abc52599c22b1f40f4323403c44d44fdfdd586475ca9813a858088ffbc1f233e9b180f061') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
php composer-setup.php
php -r "unlink('composer-setup.php');"

ln -s /usr/local/src/composer.phar /usr/local/bin/composer (加到系统变量)

#补充
#查看卷的信息
docker volume inspect 容器名

#查看所有券
docker volume ls

docker 搭建 php-mysql-nginx-redis-rabbitmq环境的更多相关文章

  1. Docker 搭建 Tomcat + Mysql

    Docker 搭建 Tomcat + Mysql 准备 虚拟机 虚拟机安装Docker 在纯净的Centos镜像上搭建 Centos镜像准备 虚拟机上拉取 Centos 镜像: docker pull ...

  2. Docker搭建的MySQL容器出现 "Too many connections 1040" 最大连接数修改完未生效的解决方案

    原文:Docker搭建的MySQL容器出现 "Too many connections 1040" 最大连接数修改完未生效的解决方案 版权声明:本文为博主原创文章,未经博主允许不得 ...

  3. mac系统中搭建apache+mysql+php的开发环境,安装mysql后,登录报错:mac ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

    php新手在mac系统中搭建apache+mysql+php的开发环境(按照这篇博客来操作的:http://my.oschina.net/joanfen/blog/171109?fromerr=xvC ...

  4. 使用Docker搭建Django,Nginx,R,Python部署环境

    转载自https://blog.csdn.net/The_One_is_all/article/details/76063968 基本环境: Ubuntu 16.10 docker 17.06.0-c ...

  5. Docker Compose 启动mysql,redis,rabbitmq

    这里使用的centos7,首先切换到root. sudo -s 首先去设置下载镜像,否则下载这三个东西要很久,而且可能失败. vim /etc/docker/daemon.json 内容如下: { & ...

  6. Docker 学习之mysql与redis(二)

    在上一随笔中主要就是记录docker的基本使用以及nginx与php服务器的配置:在这一章将主要记录docker安装mysql与redis. 本节随笔参考网址:https://www.runoob.c ...

  7. centos7 + Nginx+ HTTPS + uwsgi + python3.6 + Docker + Django1.11 + mysql 5.6 + virtualenv 环境搭建

    环境搭建: 系统: ​ centos7.2 x64 开发环境: ​ python3.6 ​ Django 1.11 虚拟环境: [Docker](https://www.runoob.com/dock ...

  8. 基于windows环境的Flask网站搭建(mysql + conda + redis)

    1下载mysql-installer-community-5.7.24.0.msi (https://dev.mysql.com/downloads/windows/installer/8.0.htm ...

  9. docker搭建简单mysql主从

    关于MySQL主从模式,如果我们直接在本机上搭建的话,是没法搭建的,只能借助于虚拟机,但有的时候我们又需要搭建一个主从集群,以便于进行一些功能性的测试.这个时候我们就可以尝试使用docker,借助于d ...

  10. linux下的python3,virtualenv,Mysql,nginx,redis安装配置

    Mysql安装和使用:点我 Redis安装和使用:点我 centos7安装Python3以及tab补全键的使用:点我 Linux下的virtualenv:点我 nginx的安装和使用:点我

随机推荐

  1. 为UITextView添加通知..来检测UITextView内容的改变

      self.mTextView =[[UITextView alloc]initWithFrame:CGRectMake(0, 0, SCREEN_WIDTH - 100, 28)];     se ...

  2. android中Actionbar详解

    1.什么是Action BarAction Bar被认为是新版Android系统中最重要的交互元素,在程序运行中一直置于顶部,主要起到的作用在于:1)突出显示一些重要操作(如“最新”.“搜索”等)2) ...

  3. 图片转化为pdf(转)

    方法1: 利用Adobe公司的Adobe Acrobat Professional进行转化.注意,一定是Professional版本的,Reader版本没有这个功能.  首先安装Adobe Acrob ...

  4. REST格式

    首先要明确一点:REST 实际上只是一种设计风格,它并不是标准.(所以你可以看到网上一大堆的各种最佳实践,设计指南,但是没有人说设计标准).aisuhua/restful-api-design-ref ...

  5. LoadRunner 技巧之 IP欺骗 (推荐)

    IP欺骗也是也loadrunner自带的一个非常有用的功能. 需要使用ip欺骗的原因:1.当某个IP的访问过于频繁,或者访问量过大是,服务器会拒绝访问请求,这时候通过IP欺骗可以增加访问频率和访问量, ...

  6. [LeetCode 题解] Spiral Matrix

    前言 [LeetCode 题解]系列传送门: http://www.cnblogs.com/double-win/category/573499.html 题目链接 54. Spiral Matrix ...

  7. 【实战TFS】【QQ群】了解别人是如何使用TFS的

    长时间在这个QQ群里面混,了解到其他人是如何使用TFS系统的,也与网友们一起探讨,共同提高,还有分享的大量资料文档. 推荐一下:):)

  8. 曲演杂坛--Update的小测试

    今天偶然想起一个UPDATE相关的小问题,正常情况下,如果我们将UPDATE改写成与之对应的SELECT语句,其SELECT查询结果应与UPDATE的目标表存在一对一的关系,例如: 对于UPDATE语 ...

  9. Create Index语句的Include作用

    在 SQL Server 2005 中,可以通过将非键列添加到非聚集索引的叶级别来扩展非聚集索引的功能.通过包含非键列,可以创建覆盖更多查询的非聚集索引.这是因为非键列具有下列优点: 它们可以是不允许 ...

  10. [C#]C#时间日期操作

    一.C# 日期格式 1. DateTime dt = DateTime.Now; 2. dt.ToString();//2005-11-5 13:21:25 3. dt.ToFileTime().To ...