LinuxLNMP环境Nginx服务器

Posted Irving_yx

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LinuxLNMP环境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

 

 

以上是关于LinuxLNMP环境Nginx服务器的主要内容,如果未能解决你的问题,请参考以下文章

nginx重新加载配置(不停服)

LNMP环境搭建(linux+Nginx + Mysql + PHP)

Nginx web服务优化

windows下搭建nginx-rtmp服务器

nginx实现请求的负载均衡 + keepalived实现nginx的高可用

nginx+ftp服务器搭建简易文件服务器