nginx 搭建前端构建环境

159 阅读1分钟

前期准备

  • liunx 基本命令
  • nginx

安装nginx

nginx -v //输入查看
yum install nginx //输入下载 

or 

yum install epel-release //如果上一步安装失败 

yum install nginx //再次下载

nginx -v

修改nginx配置

nginx -t //查看配置文件地址 
cd /etc/nginx 
ls //可以看到 nginx.conf 配置文件

vim nginx.conf 

or 

yum install vim //如果没有可以安装vim 再次执行上步

不知道nginx文件位置的话可以通过whereis nginx命令来查找

全局配置

# 运行用户,默认即是nginx,可以不进行设置
user  nginx;
#Nginx进程,一般设置为和CPU核数一样
worker_processes  1;

#错误日志存放目录
error_log  /var/log/nginx/error.log warn;
#进程pid存放位置
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; #nginx访问日志存放位置

    sendfile        on; #开启高效传输模式
    #tcp_nopush     on; #减少网络报文段的数量

    keepalive_timeout  65; #保持连接的时间,也叫超时时间

    #gzip  on; #开启gzip压缩

    include /etc/nginx/conf.d/*.conf; #包含的子配置项位置和文件
}

子项目配置

#设定虚拟主机配置
server {
  #侦听443端口,这个是ssl访问端口
  listen    443;
  #定义使用 访问域名
  server_name  XXX.com;
  #定义服务器的默认网站根目录位置
  root /web/www/website/dist;  

  #设定本虚拟主机的访问日志
  access_log  logs/nginx.access.log  main;

  # 这些都是腾讯云推荐的配置,直接拿来用就行了,只是修改证书的路径,注意这些路径是相对于/etc/nginx/nginx.conf文件位置
  ssl on;
  ssl_certificate 1_XXX.com_bundle.crt;
  ssl_certificate_key 2_XXX.com.key;
  ssl_session_timeout 5m;
  ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #按照这个协议配置
  ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;#按照这个套件配置
  ssl_prefer_server_ciphers on;

  #默认请求
  location / {     
  root /web/www/website/dist;      
      #定义首页索引文件的名称
      index index.html;
  }

  #静态文件,nginx自己处理
  location ~ ^/(images|javascript|js|css|flash|media|static)/ {
      #过期30天,静态文件不怎么更新,过期可以设大一点,
      #如果频繁更新,则可以设置得小一点。
      expires 30d;
  }

  #禁止访问 .htxxx 文件
  #    location ~ /.ht {
  #    deny all;
  #}

}
server
{
  # 80端口是http正常访问的接口
  listen 80;
  server_name XXX.com;
  # 在这里,我做了https全加密处理,在访问http的时候自动跳转到https
  rewrite ^(.*) https://$host$1 permanent;
}

nginx测试

nginx -t
这里需要注意下,导入新的证书后需要重启而不是重载,nginx -s reload是普通修改配置重载。
# 停止nginx nginx -s stop 
# 启动 nginx