轻轻的 发表于 2018-11-12 12:52:19

十二周二课 Nginx安装、Nginx默认虚拟主机、Nginx用户认证、Nginx域名重定向

Nginx安装
  首先进入/usr/local/src目录。然后下载Nginx。
  wget http://nginx.org/download/nginx-1.12.1.tar.gz
  然后解压
  tar zxf nginx-1.12.1.tar.gz
  然后进入我们刚才解压好的目录进行编译
  cd nginx-1.12.1
  # ./configure --prefix=/usr/local/nginx
  这里没有加编译参数,我们可以根据实际情况,在后期编译的时候去添加参数。
  在以后我们安装环境的时候,源码包一定要保留,因为我们不一定需要什么模块,所以保留源码包还是很必要的。
  编译完成后我们进行安装
  make &&make install
  安装完后我们会得到四个目录
  # ls /usr/local/nginx/
  confhtmllogssbin
  然后我们编辑一个启动脚本
  vim /etc/init.d/nginx
  #!/bin/bash
  chkconfig: - 30 21
  description: http service.
  Source Function Library
  . /etc/init.d/functions
  Nginx Settings
  NGINX_SBIN="/usr/local/nginx/sbin/nginx"
  NGINX_CONF="/usr/local/nginx/conf/nginx.conf"
  NGINX_PID="/usr/local/nginx/logs/nginx.pid"
  RETVAL=0
  prog="Nginx"
  start()
  {
  echo -n $"Starting $prog: "
  mkdir -p /dev/shm/nginx_temp
  daemon $NGINX_SBIN -c $NGINX_CONF
  RETVAL=$?
  echo
  return $RETVAL
  }
  stop()
  {
  echo -n $"Stopping $prog: "
  killproc -p $NGINX_PID $NGINX_SBIN -TERM
  rm -rf /dev/shm/nginx_temp
  RETVAL=$?
  echo
  return $RETVAL
  }
  reload()
  {
  echo -n $"Reloading $prog: "
  killproc -p $NGINX_PID $NGINX_SBIN -HUP
  RETVAL=$?
  echo
  return $RETVAL
  }
  restart()
  {
  stop
  start
  }
  configtest()
  {
  $NGINX_SBIN -c $NGINX_CONF -t
  return 0
  }
  case "$1" in
  start)
  start
  ;;
  stop)
  stop
  ;;
  reload)
  reload
  ;;
  restart)
  restart
  ;;
  configtest)
  configtest
  ;;
  *)
  echo $"Usage: $0 {start|stop|reload|restart|configtest}"
  RETVAL=1
  esac
  exit $RETVAL
  也可以去网站直接复制,https://coding.net/u/aminglinux/p/aminglinux-book/git/blob/master/D15Z/etc_init.d_nginx
  然后更改权限启动脚本的权限
  chmod 755 /etc/init.d/nginx
  chkconfig --add nginx
  开机自启动
  chkconfig nginx on
  然后我们更改一下nginx的配置文件,我们要将原来的配置文件清空。
  首先我们进入nginx的配置文件目录
  cd /usr/local/nginx/conf/
  然后将以前的配置文件清空
  /usr/local/nginx/conf/nginx.conf(>重定向符号,单独使用,可以吧一个文档快速清空。)
  然后编辑配置文件
  vim /usr/local/nginx/conf/nginx.conf
  user nobody nobody;
  worker_processes 2;
  error_log /usr/local/nginx/logs/nginx_error.log crit;
  pid /usr/local/nginx/logs/nginx.pid;
  worker_rlimit_nofile 51200;
  events
  {
  use epoll;
  worker_connections 6000;
  }
  http
  {
  include mime.types;
  default_type application/octet-stream;
  server_names_hash_bucket_size 3526;
  server_names_hash_max_size 4096;
  log_format combined_realip '$remote_addr $http_x_forwarded_for [$time_local]'
  ' $host "$request_uri" $status'
  ' "$http_referer" "$http_user_agent"';
  sendfile on;
  tcp_nopush on;
  keepalive_timeout 30;
  client_header_timeout 3m;
  client_body_timeout 3m;
  send_timeout 3m;
  connection_pool_size 256;
  client_header_buffer_size 1k;
  large_client_header_buffers 8 4k;
  request_pool_size 4k;
  output_buffers 4 32k;
  postpone_output 1460;
  client_max_body_size 10m;
  client_body_buffer_size 256k;
  client_body_temp_path /usr/local/nginx/client_body_temp;
  proxy_temp_path /usr/local/nginx/proxy_temp;
  fastcgi_temp_path /usr/local/nginx/fastcgi_temp;
  fastcgi_intercept_errors on;
  tcp_nodelay on;
  gzip on;
  gzip_min_length 1k;
  gzip_buffers 4 8k;
  gzip_comp_level 5;
  gzip_http_version 1.1;
  gzip_types text/plain application/x-javascript text/css text/htm
  application/xml;
  server
  {
  listen 80;
  server_name localhost;
  index index.html index.htm index.php;
  root /usr/local/nginx/html;
  location ~ .php$
  {
  include fastcgi_params;
  fastcgi_pass unix:/tmp/php-fcgi.sock;
  fastcgi_index index.php;
  fastcgi_param SCRIPT_FILENAME /usr/local/nginx/html$fastcgi_script_name;
  }
  }
  }
  也可以去网站直接复制https://coding.net/u/aminglinux/p/aminglinux-book/git/blob/master/D15Z/nginx.conf
  然后检查是否有语法错误
  #/usr/local/nginx/sbin/nginx -t
  nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
  nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
  配置语法正确。
  然后我们启动nginx
  /etc/init.d/nginxstart
  启动后查看是否成功启动
  # ps aux |grep nginx
  root      52130.00.020496   620 ?      Ss   22:10   0:00 nginx: master process /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
  nobody    52140.00.3229403208 ?      S    22:10   0:00 nginx: worker process
  nobody    52150.00.3229403208 ?      S    22:10   0:00 nginx: worker process
  root      52190.00.0 112676   976 pts/0    R+   22:10   0:00 grep --color=auto nginx
  上面显示有两个worker,说明启动成功。然后我们查看一下端口
  #netstat -lntp |grep 80
  tcp      0      0 0.0.0.0:80            0.0.0.0:*               LISTEN      5213/nginx: master
  已经成功的监听了80端口。
  然后我们看是否能解析php
  首先编辑文件
  vim /usr/local/nginx/html/1.php
  然后输入内容
  
页: [1]
查看完整版本: 十二周二课 Nginx安装、Nginx默认虚拟主机、Nginx用户认证、Nginx域名重定向