目录
方式1: 下载安装
1. 下载NGINX
地址 http://nginx.org/en/download.html
点击下载nginx-1.18.0.tar.gz
(或用wget下载)
2. 上传到服务器
以root用户登录执行
mkdir -p /data1/nginx
使用FTP工具将下载的压缩包传至/data1/nginx目录
3. 安装
安装相关库
yum install gcc automake autoconf libtool make gcc-c++ pcre pcre-devel zlib zlib-devel openssl openssl-devel
cd /data1/nginx
解压
tar -xzvf nginx-1.18.0.tar.gz
cd nginx-1.18.0/
设置路径
./configure --prefix=/data1/nginx/nginx --sbin-path=/data1/nginx/nginx/sbin
编译安装
make && make install
查看是否安装
启动nginx
./sbin
查看nginx进程
ps -ef | grep nginx
默认使用的是80端口,注意端口冲突占用与端口访问权限
可在nginx.conf中修改
验证
或在浏览器使用服务器外网地址访问
方式2: docker安装
1. 下载镜像
docker pull nginx
2. 启动
sudo docker run --detach --publish 8000:80 -p 9503:9503 -v /home/nginx/conf/nginx.conf:/etc/nginx/nginx.conf -v /home/nginx/conf.d:/etc/nginx/conf.d -v /home/nginx/html:/usr/share/nginx/html -v /home/nginx/logs:/var/log/nginx --name nginx --restart always nginx
可登录容器查看路径
docker exec -ti nginx /bin/bash
/etc/nginx/nginx.conf
/etc/nginx/conf.d/default.conf
/usr/share/nginx/html
/var/log/nginx
拷贝默认配置config文件修改
sudo docker cp 容器id:/etc/nginx/nginx.conf /home/nginx/conf
sudo docker cp 容器id:/etc/nginx/conf.d/default.conf /home/nginx/conf.d/default.conf
3. 例: 使用nginx引用include多个confg文件部署VUE项目
说明: 容器挂载文件路径问题(就是说容器的配置文件内使用的是容器内部路径,使用外部路径就应加-p映射)
(1) 容器的conf文件中使用的路径是容器内的路径,使用外部的路径应挂载外部路径映射内部路径
(2) 容器内打开的访问端口,应使用-p映射外部端口访问
例:
sudo docker run --detach --publish 8000:80 -p 9503:9503 -v /home/nginx/conf/nginx.conf:/etc/nginx/nginx.conf -v /home/nginx/conf.d:/etc/nginx/conf.d -v /home/nginx/html:/usr/share/nginx/html -v /home/nginx/logs:/var/log/nginx --name nginx --restart always nginx
$ pwd
/home/nginx
$ ls
conf conf.d html logs
$ cat conf/nginx.conf
路径映射 -v /home/nginx/conf/nginx.conf:/etc/nginx/nginx.conf
user nginx;
worker_processes auto;
error_log /var/log/nginx/error.log notice;
pid /var/run/nginx.pid;
events {
worker_connections 1024;
}
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /var/log/nginx/access.log main;
sendfile on;
#tcp_nopush on;
keepalive_timeout 65;
#gzip on;
include /etc/nginx/conf.d/*.conf; #设置包含多个配置文件,使用容器内部路径 -v /home/nginx/conf.d:/etc/nginx/conf.d 映射外部路径
}
$ cat conf.d/platform.conf
server{
listen 9503;
server_name 192.168.20.26;
location / {
root /usr/share/nginx/html/platform; #这是容器内部路径 -v /home/nginx/html:/usr/share/nginx/html映射外部路径
index index.html;
try_files $uri $uri/ /index.html; # 采用vue-router的时候,必须配置这个
}
}
$ ll html/platform/
css
img
index.html
js
publicLogo.png