centos虚拟机:docker下搭建lnmp有两种
1、下载php,nginx,mysql镜像搭建,通过端口方式访问
2、创建centos容器,在容器里面搭建lnmp环境,通过映射端口开放外网访问
#docker 镜像源
https://hub.docker.com/
#下载 centos:centos7 镜像,
docker pull centos:centos7
#创建centos7容器
docker run -itd --name=lnmp --privileged -p 80:80 -p 8081:8081 -v /sys/fs/cgroup:/sys/fs/cgroup centos:centos7 /usr/sbin/init
# -itd 后台运行
# --name 容器名
# --privileged 拥有root的权限
# -p 端口映射
# -v /sys/fs/cgroup:/sys/fs/cgroup 这里不太明白为什么要挂载这个目录,如果不挂载的话,mysql启动时,会有卡死或其他报错问题,最终找到的解决方法是挂载这个目录
# /usr/sbin/init 启动容器之后可以使用systemctl方法
创建好后按照lnmp的方式搭建
虚拟机直接安装步骤如下
更新 yum 包
yum clean all && yum makecache && yum update
yum install -y vim
安装nginx
yum 安装:
yum -y install nginx
nginx -v
下载源码编译安装nginx,阿里云上有教程
https://help.aliyun.com/document_detail/97251.html#section-0ho-omf-0ct

#编译源码: user指定nginx,group指定root,这里随便你要不要设置
若指定了nginx用户,需要创建nginx用户,然后加入到root组里
groupadd nginx // 创建nginx组,如果加入root组这步可省略
#创建nginx用户并添加到root组里
useradd nginx -g root -s /sbin/nologin -M

由于源码编译安装没有nginx服务的,不能使用systemctl来启动,按下方创建nginx服务
vim /usr/lib/systemd/system/nginx.service
[Unit]
Description=nginx
After=network.target
[Service]
Type=forking
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/usr/local/nginx/sbin/nginx -s reload
ExecStop=/usr/local/nginx/sbin/nginx -s quit
PrivateTmp= true
[Install]
WantedBy=multi-user.target
保存文件后执行以下命令,重新挂载 systemd
systemctl daemon-reload
开机启动和运行nginx
开机启动
systemctl enable nginx
运行
systemctl start nginx
查看状态
systemctl status nginx
安装php7.2
1、安装源
安装php72w,是需要配置额外的yum源地址的,否则会报错不能找到相关软件包。
php高版本的yum源地址,有两部分,其中一部分是epel-release,另外一部分来自webtatic。如果跳过epel-release的话,安装webtatic的时候,会有错误爆出。
所以,这里需要的命令是:
yum https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
清除历史版本
yum -y remove php*
安装扩展
yum install -y php72w.x86_64 php72w-cli.x86_64 php72w-common.x86_64 php72w-gd.x86_64 php72w-ldap.x86_64 php72w-mbstring.x86_64 php72w-mcrypt.x86_64 php72w-mysql.x86_64 php72w-pdo.x86_64 php72w-fpm php72w-opcache php72w-gd php72w-pecl-memcached php72w-devel php72w-bcmath
安装 mysql:5.7
rpm -Uvh http://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm
yum -y install mysql-community-server
systemctl start mysqld
开机启动
systemctl enable mysqld
systemctl daemon-reload
安装composer
下载composer
curl -sS https://getcomposer.org/installer | php
把composer.phar移动到环境下让其变成可执行
mv composer.phar /usr/local/bin/composer
赐予权限
chmod -R 777 /usr/local/bin/composer
切换阿里云镜像
composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/
切换国内镜像
composer config -g repo.packagist composer https://packagist.phpcomposer.com
./configure \--user=nobody \--group=nobody \--prefix=/usr/local/nginx \--with-http_stub_status_module \--with-http_gzip_static_module \--with-http_realip_module \--with-http_sub_module \--with-http_ssl_module
