php mysql redis mq_docker 搭建 php-mysql-nginx-redis-rabbitmq环境

#创建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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/550631.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

session mysql java_PHP自定义session处理方法,保存到MySQL数据库中

我们都知道,session是为了解决因特网的无状态属性而创造出来的。我们可以用session这种会话管理机制来构建购物车、监控站点网络访问,甚至还可以跟踪某一个用户具体是如何使用你的应用的。PHP默认的session处理行为已经能应付大部分的场景,但…

linux查看非注释行_Linux筛除空行和注释行的技巧

CentOS7.3学习笔记总结(四十一)- Linux筛除空行和注释行的技巧 在linux系统中的很多文件,写程序的人为了方便查阅整篇文档,写了很多注释,加了很多空行,虽然方便了整体的阅读,但是参数的添加、删除、修改等就没有那么友好了,我们就需要利用命令行筛选出没有这些内容的内容…

mysql数据迁移双写_数据迁移类测试策略

二、迁移类测试策略1、概述随着业务需求或数据量增长到一定程度,往往需要进行数据库切换,这里就伴随这数据迁移。关键字: 全量数据迁移,增量数据迁移,分库分表,数据双写,oracle、mysql、hbase……

python创建追加_Python文件的创建与追加

(转载)https://www.xshell.net/python/python_open.htmlPosted by 破冰 on 2013-9-17 17:29 Tuesday一、用Python创建一个新文件,内容是从0到9的整数, 每个数字占一行:#python>>>fopen(f.txt,w) # r只读,w可写,a追加&…

medoo update mysql_Medoo Update的使用:修改更新数据

update方法:update($table, $data,$where),接受三个参数的传入,第三个可默认不传第一个需要传入的参数类型为字符串:String,即为要修改更新数据的数据表名第二个需要传入的参数类型为数组:array()&#xff…

vue限制只能输入数字_vue的input中,如何限制只能输入number

本来想用watch观察v-model的值&#xff0c;一旦不是数字&#xff0c;就让新值等于旧值&#xff0c;后来发现不行。h5的type”number”属性在手机上无效。有什么比较好的方法吗<input v-model"num">type”tel”的作用是直接弹出数字键盘吧&#xff0c;这样好像也…

where is null mysql_SQL中WHERE变量IS NULL条件导致全表扫描问题的解决方法

SET SQL SELECT * FROM Comment with(nolock) WHERE 11And (ProjectIds Is Null or ProjectId ProjectIds)And (Scores is null or Score Scores)印象中记得&#xff0c;以前在做Oracle开发时&#xff0c;这种写法是会导致全表扫描的&#xff0c;用不上索引&#xff0c;不知道…

lambda的java_一分钟搞明白java8中的lambda

项目结构是这样的User是一个普通的pojo类UserCompare是一个实现了Comprator的类现在我们有一个需求&#xff1a;给一个user组成的list 按照user的年龄排序。实现不难&#xff0c;代码如下&#xff1a;这种方法由于sort方法的第二个参数是Comparator 所以你要写一个实现类(我这里…

hash的算法 java_Java常用HASH算法总结【经典实例】

本文实例讲述了Java常用HASH算法。分享给大家供大家参考&#xff0c;具体如下&#xff1a;/*** Hash算法大全* 推荐使用FNV1算法* algorithm None* author Goodzzp 2006-11-20* lastEdit Goodzzp 2006-11-20* editDetail Create*/public class HashAlgorithms{/**//*** 加法has…

读芯术python教程答案_攻略Python的免费书单:走进编程,从这五本书开始

全文共1245字&#xff0c;预计学习时长5分钟图源&#xff1a;unsplashPython一向是数据科学家最青睐的编程语言&#xff0c;它的语法相对简单、易于学习。除了机器学习数据库之外&#xff0c;还有非常活跃的开发人员社区&#xff0c;维护着各种库&#xff0c;用于数据分析、操作…

java的math类_Java之Math类使用小结

public classMain {public static voidmain(String[] args) {//TODO Auto-generated method stubSystem.out.println(Math.E);//比任何其他值都更接近 e(即自然对数的底数)的 double 值。System.out.println(Math.PI);//比任何其他值都更接近 pi(即圆的周长与直径之比)的 doubl…

java的复制构造函数_什么是Java中的复制构造函数?

通常&#xff0c;复制构造函数是通过使用先前已创建的相同类的对象初始化对象来创建对象的构造函数。Java支持复制构造函数&#xff0c;但与C语言不同&#xff0c;Java没有提供您需要自己定义的显式复制构造函数。写一个拷贝构造函数通常&#xff0c;为了初始化类的实例变量的值…

java对jsonarray去重复_java 去除jsonarray里面jsonarray的重复和合并数据

原来数据如下&#xff1a;[{"index_id":"19557485","itemid":"70575","time":"1467619020","value":"1"},{"index_id":"19557442","itemid":"113795&quo…

JAVA minaio模型_分布式系统之Java IO模型

1.正确理解IO定义IO涉及两个系统对象&#xff0c;一个是用户进程&#xff0c;一个是系统内核阻塞IO和非阻塞IO 针对是对用户进程来讲的调用函数。同步IO和异步IO针对的是系统内核。select,poll,epoll是Linux系统使用最多的IO多路复用机制&#xff0c;采用的都是同步IO。IO读取过…

算法导论 java版_《算法导论》第二章demo代码实现(Java版)

《算法导论》第二章demo代码实现(Java版)前言表示晚上心里有些不宁静&#xff0c;所以就写一篇博客&#xff0c;来缓缓。囧拜读《算法导论》这样的神作&#xff0c;当然要做一些练习啦。除了练习题与思考题那样的理论思考&#xff0c;也离不开编码的实践。所以&#xff0c;后面…

java js websocket_js+java websocket记录

首先websocket后台需要在web服务器运行&#xff0c;所以先搭建一个web项目。websocket需要依赖其他的jar包&#xff0c;引入依赖javaxjavaee-api7.0provided新建一个类&#xff0c;该类建立一个服务端点 ServerEndpointimportjavax.websocket.*;importjavax.websocket.server.P…

java 写一个计算器_java编写一个计算器类

展开全部import java.awt.BorderLayout;import java.awt.Color;import java.awt.GridLayout;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.ImageIcon;import javax.swing.JButton;import javax.swing.JFrame;import javax.swin…

java 移位运算效率_java 简单认识移位运算符和位运算符

移位运算符和位运算符本质上都是操作二进制位&#xff0c;因为计算机存储的是二进制数据&#xff0c;运算效率相对较高。移位运算符:把整数的二进制位进行左移或右移 .左移一位,相当于这个数乘以2, 右移一位,相当于这个数除以2/*移位运算符把整数的二进制位进行左移或右移按位左…

java文本框背景_用Java编写小程序(包含组合框下拉和文本框)变换背景颜色

展开全部代码如下&#xff1a;import java.awt.Color;import java.awt.Dimension;import java.awt.FlowLayout;import java.util.HashMap;import java.util.Map;import javax.swing.JComboBox;import javax.swing.JFrame;import javax.swing.JTextField;public class App exten…

mysql call procedure into_mysql存储过程之创建(CREATE PROCEDURE)和调用(CALL)及变量...

本文实例讲述了mysql存储过程之创建(CREATE PROCEDURE)和调用(CALL)及变量创建(DECLARE)和赋值(SET)操作方法。分享给大家供大家参考&#xff0c;具体如下&#xff1a;存储过程创建(CREATE PROCEDURE)和调用(CALL)这个咱就不说什么定义啦术语啦啥的&#xff0c;直接看着实例来慢…