前言
因为工作需要,经常要在服务器部署测试环境,最常遇到的场景就是在linux上安装nginx了,这里记录一下常用命令,供大家参考。
我们采用基于docker的方式进行安装,简单、稳定、快速。
我们服务器的系统环境是 CentOS 7.6 。
安装docker
1、更新系统软件版本。
yum update -y
2、安装必要的工具。
yum install -y yum-utils device-mapper-persistent-data lvm2
3、设置yum的仓库地址。
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
4、安装docker社区版。
yum install docker-ce -y
5、启动docker。
systemctl start docker & systemctl enable docker
6、cd 到 /etc/docker 目录下,新建文件 daemon.json,设置docker的镜像源。
cd /etc/docker
vi daemon.json
这里提供一个我本人使用的镜像源地址,输入下面的内容后,保存文件。
{
"registry-mirrors": ["https://mjlc6fuk.mirror.aliyuncs.com"]
}
7、刷新配置并重启docker。
systemctl daemon-reload & systemctl restart docker
安装nginx
1、下载nginx镜像。
docker pull nginx
2、在宿主机创建几个目录,www是放代码的目录,conf是放nginx配置的目录,logs是放nginx日志的目录。
mkdir -p /root/nginx/www
mkdir -p /root/nginx/conf
mkdir -p /root/nginx/logs && chmod 777 /root/nginx/logs
3、启动nginx。
docker run --name nginx -d -v /root/nginx/www:/www -v /root/nginx/conf:/etc/nginx/conf.d -v /root/nginx/logs:/var/log/nginx -p 80:80 nginx
4、编辑nginx配置文件。
cd /root/nginx/conf && vi default.conf
输入下面的内容,nginx代理www下的代码文件。
server {
listen 80;
server_name localhost;
#gzip config
gzip on;
gzip_buffers 32 4k;
gzip_comp_level 6;
gzip_min_length 100;
gzip_types application/javascript text/css text/xml;
gzip_disable "MSIE [1-6]\.";
gzip_vary on;
location / {
root /www;
index index.html index.htm;
if (!-e $request_filename) {
rewrite ^(.*)$ /index.html?s=$1 last;
break;
}
}
}
5、重启nginx
docker restart nginx