hi,欢迎访问本站!
当前位置: 首页服务器正文

nginx安装教程

墨初 服务器 431阅读

Nginx是一个高性能的html与反向代理的web服务器,同时也提供了IMAP/POP3/SMTP等服务,现在很多的网站都在使用Nginx。关于Nginx,下面的博文就说一说它在linux服务器上的安装方法。

Nginx安装的方法

# 下载nginx安装包
wget http://nginx.org/download/nginx-1.14.2.tar.gz
# 解压源码
tar -zxvf nginx-1.14.2.tar.gz
3、进入解压后的源码目录
cd nginx-1.14.2
#
./configure
--prefix=/usr/local/nginx --with-http_ssl_module --with-compat --with-file-aio --with-threads --with-http_addition_module --with-http_auth_request_module --with-http_dav_module --with-http_flv_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_mp4_module --with-http_random_index_module --with-http_realip_module --with-http_secure_link_module --with-http_slice_module --with-http_stub_status_module --with-http_sub_module --with-http_v2_module --with-stream --with-stream_realip_module --with-stream_ssl_module --with-stream_ssl_preread_module --add-module=/usr/local/src/ModSecurity-nginx
# 编辑与安装
make
make install

Nginx配置方法

1、创建目录

日志目录 /www/logs/nginx/

证书目录 /usr/local/nginx/ssl/

2、主配置文件

user  www www;
worker_processes  8;
pid        /var/run/nginx.pid;
worker_rlimit_nofile 65535;
events {
    worker_connections 65535;
}
http {
    charset utf-8;
    include       mime.types;
    default_type  application/octet-stream;
    log_format  main escape=json '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for" "$request_time" "$request_body" "$host"';
    error_log  logs/nginx_error.log  error;
    #proxy_ignore_client_abort on;
    proxy_buffering off;
    server_names_hash_bucket_size 128;
    client_header_buffer_size 128k;
    large_client_header_buffers 4 128k;
    client_max_body_size 100m;
    client_body_buffer_size 1024k;
    ssl_session_cache   shared:SSL:10m;
    ssl_session_timeout 10m;
    sendfile        on;
    tcp_nopush     on;
    keepalive_timeout  65;
    tcp_nodelay on;
    fastcgi_intercept_errors on;
    fastcgi_connect_timeout 300;
    fastcgi_send_timeout 300;
    fastcgi_read_timeout 300;
    fastcgi_buffer_size 128k;
    fastcgi_buffers 4 128k;
    fastcgi_busy_buffers_size 128k;
    fastcgi_temp_file_write_size 128k;
    gzip  on;
    gzip_min_length  1k;
    gzip_buffers     4 16k;
    gzip_http_version 1.0;
    gzip_comp_level 2;
    gzip_types       text/plain application/x-javascript text/css application/xml image/jpeg image/gif image/png;
    gzip_vary on;
    server_tokens off;
    proxy_hide_header X-Powered-By;
    proxy_hide_header Server;
    fastcgi_hide_header X-Powered-By;
   include conf.d/*.conf;
}

3、报错设置

error_page   500 502 503 504  /50x.html;

4、子域名

server {
    listen 80;
    listen 443 ssl;
    #域名配置
    server_name subdomain.domain.com;
    #根目录
    root /www/domain/public;
    index index.php index.html;
    # 没搞明白这里为啥是关闭
    ssl off;
    # 证书
    ssl_certificate /usr/local/nginx/ssl/domain.com.pem;
    ssl_certificate_key /usr/local/nginx/ssl/domain.com.key;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_prefer_server_ciphers on;
    if ($host !~* ^(.*)\.domain\.com$) {
       return 403;
    }
    # enable HSTS
    #add_header Strict-Transport-Security "max-age=31536000; includeSubDomains;preload" always;
    #if ($scheme = http) {
    #     return 301 https://$host$request_uri;
    #}
    if ($time_iso8601 ~ "^(\d{4}-\d{2}-\d{2})") {
        set $year $1;
        set $month $2;
        set $day $3;
    }
    access_log /www/logs/nginx/domain_access_$year-$month-$day.log main;
    error_log  /www/logs/nginx/domain_error.log error;
# 配置php部分
    location / {
        try_files $uri $uri/ /index.php?$query_string;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
    }
    location ~* \.php$ {
        fastcgi_index  index.php;
        fastcgi_pass   127.0.0.1:9000;
        include        fastcgi_params;
        fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
        fastcgi_param   SCRIPT_NAME        $fastcgi_script_name;
    }
}

Nginx启动与停止

#启动
$ /usr/local/nginx/sbin/nginx
#停止
$ /usr/local/nginx/sbin/nginx -s stop
#重启
$ /usr/local/nginx/sbin/nginx -s reload

设置开机启动

systemctl enable nginx

以上就是关于nginx配置的教程,各位可以借鉴一下。

标签:
声明:无特别说明,转载请标明本文来源!