docker下安装centos,并在其上搭建lnmp环境
一、安装CentOs容器
1.进入docker下载CentOs,这里我使用的CentOs6.8
docker pull centos:6.8
2.创建容器
sudo docker run --privileged --cap-add SYS_ADMIN -e container=docker -it --name lnmp -p 80:80 -p 3306:3306 -d -v /Users/qiao/www:/home/www --restart=always centos:6.8
--privileged 指定容器是否是特权容器。这里开启特权模式。
--cap-add SYS_ADMIN 添加系统的权限。
-e container=docker 设置容器的类型。
-it 启动互动模式。
-p 端口映射,为了方便本地连接。
-v 映射目录,使本地的目录和容器的目录共享
--name 容器名称
3.进入容器
docker exec -ti lnmp /bin/bash
二、安装lnmp环境
环境我这里选择的是,nginx:latest(最新版本)mysql(5.7.21)php(7.0.23)
1.首先安装依赖包
yum -y install gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel libidn libidn-devel openssl openssl-devel openldap openldap-devel nss_ldap openldap-clients openldap-servers make cmake libtool* git tree
2.安装libiconv
wget http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.14.tar.gz
tar zxvf libiconv-1.14.tar.gz
cd libiconv-1.14/
./configure --prefix=/usr/local
make && make install
3.安装libmcrypt
tar -zxvf libmcrypt-2.5.7.tar.gz
cd libmcrypt-2.5.7
./configure
make
make install
cd libltdl/
./configure --enable-ltdl-install
make
make install
4.安装mhash
tar -zxvf mhash-0.9.9.9.tar.bz2
cd mhash-0.9.9.9
./configure
make
make install
5.安装mcrypt
tar zxvf mcrypt-2.6.8.tar.gz
cd mcrypt-2.6.8/
export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH
./configure
make
make install
6.软链
ln -s /usr/local/lib/libmcrypt.la /usr/lib/libmcrypt.la
ln -s /usr/local/lib/libmcrypt.so /usr/lib/libmcrypt.so
ln -s /usr/local/lib/libmcrypt.so.4 /usr/lib/libmcrypt.so.4
ln -s /usr/local/lib/libmcrypt.so.4.4.8 /usr/lib/libmcrypt.so.4.4.8
ln -s /usr/local/lib/libmhash.a /usr/lib/libmhash.a
ln -s /usr/local/lib/libmhash.la /usr/lib/libmhash.la
ln -s /usr/local/lib/libmhash.so /usr/lib/libmhash.so
ln -s /usr/local/lib/libmhash.so.2 /usr/lib/libmhash.so.2
ln -s /usr/local/lib/libmhash.so.2.0.1 /usr/lib/libmhash.so.2.0.1
ln -s /usr/local/bin/libmcrypt-config /usr/bin/libmcrypt-config
7.安装mysql 5.7
1.解压
tar -zxvf mysql-5.7.21-linux-glibc2.12-x86_64.tar.gz
2.移动到/usr/local下
mv mysql-5.7.21-linux-glibc2.12-x86_64 /usr/local/mysql
3.添加用户组和用户(-s /bin/false参数指定mysql用户仅拥有所有权,而没有登录权限)
groupadd mysql
useradd -r -g mysql -s /bin/false mysql
4.进入安装目录
cd /usr/local/mysql
5.修改当前目录拥有者为新建的mysql用户
chown -R mysql:mysql ./
6.安装mysql的一些依赖包(不安装会报错)
yum -y install numactl libaio
7.安装mysql
./bin/mysqld --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --initialize
8.开启mysql服务
./support-files/mysql.server start
9.将mysql进程放入系统进程中
cp support-files/mysql.server /etc/init.d/mysqld
10.重新启动mysql服务
service mysqld restart
11.为mysql设置环境变量
vi /etc/profile
添加 export PATH=$PATH:/usr/local/mysql/bin
刷新环境变量 source /etc/profile
12.重设mysql密码(这里使用简单粗暴的方法)
(1)关闭mysql服务
service mysqld stop
(2)进入mysql下bin目录
cd /usr/local/bin
(3)运行
mysqld_safe --skip-grant-tables &
(4)登陆mysql并修改密码
mysql -u root -p
use mysql
update user set authentication_string=PASSWORD('root') where User='root';
quit;
service mysqld restart;
再次进入mysql后,会提示你修改密码,输入
alter user user() identified by '123456';
8.安装pcre
tar -zxvf pcre-8.41.tar.gz
cd pcre-8.31
./configure
make && make install
9.安装zlib
tar -zxvf zlib-1.2.11.tar.gz
cd zlib-1.2.11
./configure
make && make install
10.openssl安装
tar -zxvf openssl-1.0.1c.tar.gz
cd openssl-1.0.1c
./config
make && make install
启动mongodb
./mongod --config mongodb.conf
启动memcached
memcached -d -m 2048 -l 127.0.0.1 -p 11211 -u root -c 1024 –P /var/memcached/memcached.pid
docker下安装centos,并在其上搭建lnmp环境的更多相关文章
- CentOS 7 上搭建LNMP环境
(转自美团云知识库Chris) 简介 LNMP是Linux.Nginx.MySQL(MariaDB)和PHP的缩写,这个组合是最常见的WEB服务器的运行环境之一.本文将带领大家在CentOS 7操作系 ...
- 如何在 Debian 9 上搭建 LNMP 环境
步骤一.安装Nginx Nginx在默认的Debian存储库中可用. 使用以下命令更新软件包索引并安装Nginx: sudo apt update sudo apt install nginx 安装过 ...
- CentOS双机中Docker下安装Mysql并配置互为主从模式
CentOS双机中Docker下安装Mysql并配置互为主从模式 目录 1.搜索镜像... 1 2.拉取镜像... 1 3.绑定端口: 1 4.配置文件(修改/etc/mysql/my.cnf文件): ...
- Centos 7 下yum搭建lnmp环境(yum安装方式)
我们都知道linux下安装软件主要有三种方式: 1.源码编译安装,即下载软件源代码,利用gcc g++ make 等编译工具进行编译安装: 此方式的优点:可以指定软件版本,可选择性好:编译时可以手动指 ...
- 基于kail的docker下安装sqli-labs
后面的关卡涉及到转码问题,比如空格,在Windows中会受到限制,比如24关的文件重命名问题,所以在这记录下在docker下安装sqli-labs,在linux下运行就不会受到限制. 参考链接:htt ...
- Mac下docker搭建lnmp环境 + redis + elasticsearch
之前在windows下一直使用vagrant做开发, 团队里面也是各种开发环境,几个人也没有统一环境,各种上线都是人肉,偶尔还会有因为开发.测试.生产环境由于软件版本或者配置不一致产生的问题, 今年准 ...
- 【FastDFS】小伙伴们说在CentOS 8服务器上搭建FastDFS环境总报错?
写在前面 在[冰河技术]微信公众号的[分布式存储]专题中,我们分别搭建了单节点FastDFS环境和高可用FastDFS集群环境.但是,之前的环境都是基于CentOS 6.8服务器进行搭建的.很多小伙伴 ...
- 在CentOS 8服务器上搭建FastDFS环境
什么是FastDFS? 这里,我就摘录下百度百科上对于FastDFS的描述. FastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存储.文件同步.文件访问(文件上传.文件下 ...
- 【Flutter 1-2】在 Windows 10下安装Flutter+Dart+Android Studio 配置Flutter开发环境
在 Windows 10下安装Flutter+Dart+Android Studio 配置Flutter开发环境 文章首发地址 配置环境变量 由于部分网站被墙的原因,我们需要先配置Flutter国内镜 ...
随机推荐
- windows 安装 jenkins 自动化构建部署至linux服务器上
一.环境准备 1.git安装环境 参考链接 https://www.cnblogs.com/yuarvin/p/12500038.html 2.maven安装环境,包括jdk环境安装 参考链接 htt ...
- python如何用format进行进制转换与如何删除进制前缀
10进行十进制,十六进制,八进制,二进制的转换:(#:保留进制前缀)对于带着进制前缀的,如"0x"“0o”“0b”,可以直接在后面加上’x’‘o’'b’进行删除:其他的一些小技巧: ...
- HashMap底层源码剖析
HashMap底层源码剖析 一.HashMap底层用到的数据结构 数组+单向链表+红黑树 数组:数组每一项都是一个链表,其实就是数组和链表的结合体 单向链表:当法神hash碰撞时,首先会找到数组对应位 ...
- 解决idea的pom.xml文件不自动导包问题
在用pom添加新项目的包时,突然发现pom文件不能自动导包,找了半天发现用以下两个步骤就能解决: 一:打开setting 二:找到maven
- macOS Catalina 升级软件问题
最近升级macOS Catalina系统,升级失败时多尝试几次就可以执行成功了,在使用过程中发现以下问题,大家谨慎升级!!! 存在软件启动不兼容,不存在已软件激活失效问题. 有道词典不兼容,启动异常 ...
- Java学习笔记(2)——有关类
Java类的高级特性: {Java管理文件机制:类包. 同一个包中的类互相访问时,可以不指定包名. 同一个包中的类不必存放在同一位置,如com.lang.class1和com.lang.class2可 ...
- 【问题记录】记一次ConnectionTimeout问题排查
最近做性能测试时,发现连接第三方系统时会有约1%的交易提示如下错误 nested exception is org.apache.commons.httpclient.ConnectTimeoutEx ...
- BeanShell断言:根据响应的2个数据的比较结果来决定断言
需求:目前有一个请求,请求的响应中有2个值,aaa和bbb,我们比较aaa和bbb,如果aaa大于bbb,则断言通过,否则失败. 1.添加一个Dummy Sampler,模拟请求. 2.添加2个正则表 ...
- Tensorflow系列专题(四):神经网络篇之前馈神经网络综述
目录: 神经网络前言 神经网络 感知机模型 多层神经网络 激活函数 Logistic函数 Tanh函数 ReLu函数 损失函数和输出单元 损失函数的选择 均方误差损失函数 交叉熵损失函数 输出单元的选 ...
- Jmeter接口测试实战之HTTP Cookie管理器(十二 )
在使用测试工具Jmeter做接口测试中,怎么记录下它登录成功后的信息,在接口测试的应用场景中,一般对业务的操作都是基于用户登录情况下的操作.它的测试步骤相对来说很简单的,其实在Jmeter的测试工具中 ...