zoukankan      html  css  js  c++  java
  • Linux(九)LNMP环境Nginx服务器

    、下载并安装LNMP一键安装包:

      #tar -zxvf lnmp1.2-full.tar.gz

      #cd lnmp1.2-full

      #./install.sh lnmp

      安装LNMP执行:wget -c http://soft.vpser.net/lnmp/lnmp1.2-full.tar.gz && tar zxf lnmp1.2-full.tar.gz && cd lnmp1.2-full &&./install.sh lnmp
      如需要安装LNMPA或LAMP,将./install.sh 后面的参数替换为lnmpa或lamp即可。

    二.LNMP相关软件安装目录
      Nginx 目录: /usr/local/nginx/
      MySQL 目录 : /usr/local/mysql/
      MySQL数据库所在目录:/usr/local/mysql/var/
      PHP目录 : /usr/local/php/
      PHPMyAdmin目录 : /home/wwwroot/default/phpmyadmin/

      默认网站目录 : /home/wwwroot/default/
      Nginx日志目录:/home/wwwlogs/

    三.LNMP相关配置文件位置
      Nginx主配置文件:/usr/local/nginx/conf/nginx.conf
      MySQL配置文件:/etc/my.cnf
      PHP配置文件:/usr/local/php/etc/php.ini
      php-fpm配置文件:/usr/local/php/etc/php-fpm.conf

    .LNMP状态管理命令

      LNMP 状态管理: lnmp {start|stop|reload|restart|kill|status}
      LNMP 各个程序状态管理: lnmp {nginx|mysql|mariadb|php-fpm|pureftpd} {start|stop|reload|restart|kill|status}

    .配置文件

      #vi /usr/local/nginx/conf/nginx.conf

    user  www www;

    worker_processes auto;

    #启动进程

    error_log  /home/wwwlogs/nginx_error.log  crit;

    #错误日志

    pid        /usr/local/nginx/logs/nginx.pid;

    #主进程PID保存文件

    #Specifies the value for maximum file descriptors that can be opened by this process. 
    worker_rlimit_nofile 51200;

    #文件描述符数量

    events 
    {
       use epoll;

    #网络I/O模型,建议linux使用epoll,FreeBSD使用kqueue

    #epoll是多路复用IO(I/O Multiplexing)中的一种方式,但是仅用于linux2.6以上内核,可以大大提高nginx的性能
       worker_connections 51200;

    #单个工作进程最大允许连接数

    multi_accept on;

        
    }

    http 

    #整体环境配置
    {
       include       mime.types;
       default_type  application/octet-stream;
    #设定mime类型,文件传送类型由mime.type文件定义

                    server_names_hash_bucket_size 128; #保存服务器名字的hash表大小

                    client_header_buffer_size 32k; #客户端请求头部缓冲区大小

                    large_client_header_buffers 4 32k; #最大客户端头缓冲大小

                    client_max_body_size 50m; #客户端最大上传文件大小(M)

                    sendfile on;

    #sendfile 指令指定 nginx 是否调用 sendfile 函数(zero copy 方式)来输出文件,对于普通应用,必须设为 on如果用来进行下载等应用磁盘IO重负载应用,可设置为off,以平衡磁盘与网络I/O处理速度,降低系统的uptime.

    #高效文件传输

                    tcp_nopush     on;

    #这个是默认的,结果就是数据包不会马上传送出去,等到数据包最大时,一次性的传输出去,这样有助于解决网络堵塞。(只在sendfile on时有效)

                    keepalive_timeout 60;

    #连接超时时间

                    tcp_nodelay on;

    #禁用nagle算法,也即不缓存数据。有效解决网络阻塞

                    fastcgi_connect_timeout 300;

                    fastcgi_send_timeout 300;

                    fastcgi_read_timeout 300;

                    fastcgi_buffer_size 64k;

                    fastcgi_buffers 4 64k;

                    fastcgi_busy_buffers_size 128k;

                    fastcgi_temp_file_write_size 256k;

    #fastcgi设置

            gzip on;

             gzip_min_length  1k;

            gzip_buffers     4 16k;

             gzip_http_version 1.1;

             gzip_comp_level 2;

             gzip_types     text/plain application/javascript application/x-javascript text/javascript text/css application/xml application/xml+rss;

             gzip_vary on;

             gzip_proxied   expired no-cache no-store private auth;

             gzip_disable   "MSIE [1-6].";

            #limit_conn_zone $binary_remote_addr zone=perip:10m;

            ##If enable limit_conn_zone,add "limit_conn perip 10;" to server section.

                    server_tokens off;

    #隐藏nginx版本号(curl -I 192.168.4.154可以查看,更加安全)

     

                    #log format

             log_format  access  '$remote_addr - $remote_user [$time_local] "$request" '

                 '$status $body_bytes_sent "$http_referer" '

                 '"$http_user_agent" $http_x_forwarded_for';

    #定义日志格式

    server

            {

                    listen 80 default_server;

             #listen [::]:80 default_server ipv6only=on;

    #监听80端口

                    server_name www.lnmp.org;

    #服务器名

                    index index.html index.htm index.php;

    #默认网页文件

                    root  /home/wwwroot/default;

    #网页主目录

    #error_page   404   /404.html;

    include enable-php.conf;

                    

    location /nginx_status

            {

                stub_status on;

                access_log   off;

            }

    #开启status状态监测

    location ~ .*.(gif|jpg|jpeg|png|bmp|swf)$

            {

                expires      30d;

            }

    #静态文件处理,保存期30天

    location ~ .*.(js|css)?$

            {

                expires      12h;

            }

    #js和css文件处理,保存期12小时

    location ~ /.

            {

                deny all;

            }

     access_log  /home/wwwlogs/access.log  access;

    #正确访问日志

     }

    include vhost/*.conf;

    #vhost/下子配置文件生效

    }

    检查nginx配置文件语句错误

      #/usr/local/nginx/sbin/nginx -t

    平滑重启nginx进程

      1)pkill -HUP nginx  (常用)

      2)kill -HUP `pgrep -uroot nginx`

         Pgrep  -uroot  nginx  取出nginx主进程PID

      3)/usr/local/nginx/sbin/nginx -s reload

     

     

  • 相关阅读:
    Enterprise Library 企业库 V4.1
    跨域实现IFRAME自适应高度
    微软企业库4.1学习笔记(二)各功能之间的依赖关系以及对象创建
    微软企业库4.1学习笔记(三)企业库迁移和并行使用,以及企业库的扩展
    微软企业库4.1学习笔记(五)对象创建和依赖注入方法
    判断 iframe 是否加载完成的完美方法
    对JavaScript调用堆栈和setTimeout用法的深入研究
    工作流技术杂谈
    企业流程管理平台V2.0介绍(.NET平台下的工作流)
    c#操作oracle lob字段[转自 芽芽的回收站]
  • 原文地址:https://www.cnblogs.com/yexiang520/p/5645340.html
Copyright © 2011-2022 走看看