安装配置优化nginx

二、

1、编译安装nginx

1)采用yum安装pcre:

yum install pcre pcre-devel -y

rpm -qa pcre pcre-devel

2)检测安装依赖包:

rpm -qa openssl openssl-devel

安装openssl openssl-devel:

yum install -y openssl openssl-devel

3)开始安装nginx:

mkdir -p /application/server

cd /application/server

wget -q http://nginx.org/download/nginx-1.6.3.tar.gz

ls -l nginx-1.6.3.tar.gz

useradd nginx -s /sbin/nologin -M

tar zxvf nginx-1.6.3.tar.gz

cd nginx-1.6.3

./configure --user=nginx --group=nginx --prefix=/application/nginx-1.6.3/ --with-http_stub_status_module --with-http_ssl_module

make

make install

设置软链接:

ln -s /application/nginx-1.6.3 /application/nginx

ll /application | grep nginx

ls -l /application/nginx

可使用./configure --help查看相关参数帮助:

--prefix=PATH                                 #设置安装路径

--user=USER                                   #设置用户权限

--group=GROUP                                 #设置用户组权限

--with-http_stub_status_module                #设置状态信息

--with-http_ssl_module                        #激活SSL功能

检测配置文件语法:

/application/nginx/sbin/nginx -t

启动nginx命令:

/application/nginx/sbin/nginx

检测启动是否成功:

lsof -i :80

COMMAND   PID  USER   FD   TYPE DEVICE SIZE/OFF NODE NAME

nginx   42008  root    6u  IPv4  83250      0t0  TCP *:http (LISTEN)

nginx   42009 nginx    6u  IPv4  83250      0t0  TCP *:http (LISTEN)

netstat -lnt | grep 80

tcp        0      0 0.0.0.0:80                  0.0.0.0:*   LISTEN

wget -T 2 --tries=1 --spider 127.0.0.1

curl -s 127.0.0.1

curl -I 127.0.0.1

查看nginx编译参数:

[[email protected] nginx-1.6.3]# /application/nginx/sbin/nginx -V

nginx version: nginx/1.6.3

built by gcc 4.4.7 20120313 (Red Hat 4.4.7-17) (GCC)

TLS SNI support enabled

configure arguments: --user=nginx --group=nginx --prefix=/application/nginx-1.6.3/ --with-http_stub_status_module --with-http_ssl_module

关闭selinux:

setenforce 0

getenforce

关闭防火墙:

service iptables stop

service iptables status  (查看运行状态)

查看站点目录:

grep html /application/nginx/conf/nginx.conf

查看nginx目录结构:

tree /application/nginx

实时查看网站用户访问:

tail -f /application/nginx/logs/access.log

查看错误信息:

tail /application/nginx/logs/error.log

查看进程ID号:

tail /application/nginx/logs/nginx.pid

输出配置文件去掉#和空行的内容

egrep -v "#|^$" /application/nginx/conf/nginx.conf

基于域名和端口、IP的虚拟主机配置:

server {

listen       80;

server_name  etiantian.org;

location / {

root   html/www;

index  index.html index.htm;

}

}

server {

listen       81;

server_name  etiantian.org;

location / {

root   html/bbs;

index  index.html index.htm;

}

}

server {

listen       192.168.254.120:83;

server_name  blog.etiantian.org;

location / {

root   html/blog;

index  index.html index.htm;

}

检测配置文件语法:

/application/nginx/sbin/nginx -t

重新加载配置文件:

/application/nginx/sbin/nginx -s reload

二)常用功能配置实战

优化规范配置文件:

cd /application/nginx/conf

mkdir extra

sed -n ‘10,17p‘ /application/nginx/conf/nginx.conf >extra/www.conf

sed -n ‘18,25p‘ /application/nginx/conf/nginx.conf >extra/bbs.conf

sed -n ‘26,33p‘ /application/nginx/conf/nginx.conf >extra/bbs.conf

sed -i ‘10,33d‘ nginx.conf                  #删除主配置文件里的虚拟主机配置

在nginx.conf里include加上虚拟主机配置:

[[email protected] conf]# cat nginx.conf

worker_processes  1;

events {

worker_connections  1024;

}

http {

include       mime.types;

default_type  application/octet-stream;

sendfile        on;

keepalive_timeout  65;

include extra/www.conf;

include extra/bbs.conf;

include extra/blog.conf;

}

nginx虚拟主机别名设置:

server_name  www.etiantian.org etiantian.org;

测试需要在host文件加上etiantian.org

配置nginx status:

vi /application/nginx/conf/extra/status.conf

server {

listen       80;

server_name  status.etiantian.org;

location / {

stub_status on;

access_log off

}

}

在nginx.conf文件加上:

include extra/status.conf;

#测试需要在host文件加上status.etiantian.org

配置错误日志:

error_log   logs/error.log;

访问日志配置:

[[email protected] logs]# sed -n ‘21,23 s/#//gp‘ /application/nginx/conf/nginx.conf.default

log_format  main  ‘$remote_addr - $remote_user [$time_local] "$request" ‘

‘$status $body_bytes_sent "$http_referer" ‘

‘"$http_user_agent" "$http_x_forwarded_for"‘;

把上述内容放到nginx.conf的http标签的首部,如下:

[[email protected] logs]# cat  ../conf/nginx.conf

worker_processes  1;

error_log   logs/error.log;

events {

worker_connections  1024;

}

http {

include       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"‘;

sendfile        on;

keepalive_timeout  65;

include extra/www.conf;

include extra/bbs.conf;

include extra/blog.conf;

include extra/status.conf;

}

然后在每个虚拟主机里进行配置,使其使用上述格式记录用户访问日志:

[[email protected] conf]# cat extra/www.conf

server {

listen       80;

server_name  www.etiantian.org etiantian.org;

location / {

root   html/www;

index  index.html index.htm;

}

access_log logs/access_www.log main;      #配置访问记录

}

查看访问记录:

[[email protected] conf]# tail -5  /application/nginx/logs/access_www.log

192.168.254.31 - - [20/Jul/2016:22:36:47 +0800] "GET / HTTP/1.1" 304 0 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; .NET4.0C; .NET4.0E; InfoPath.2)" "-"

在记录日志参数中加上buffer和flush选项,可以在高并发场景下提高网站访问性能:

access_log logs/access_www.log main gzip buffer=32k flush=5s;

nginx访问认证:

在需要的虚拟主机server标签里增加

auth_basic                           #密码提示

auth_basic_user_file                 #用户密码存放文件

server {

listen       80;

server_name  www.etiantian.org etiantian.org;

location / {

root   html/www;

index  index.html index.htm;

auth_basic  "password is 123456"

auth_basic_uer_file /application/nginx/conf/htpasswd;

}

#        access_log logs/access_www.log main;

access_log logs/access_www.log main gzip buffer=32k flush=5s;

}

yum install httpd -y

[[email protected] ~]# which htpasswd

/usr/bin/htpasswd

创建账号密码:

[[email protected] ~]# htpasswd -bc /application/nginx/conf/htpasswd long 123456

Adding password for user long

[[email protected] ~]# chmod 400 /application/nginx/conf/htpasswd

[[email protected] ~]# chown nginx /application/nginx/conf/htpasswd

[[email protected] ~]# cat /application/nginx/conf/htpasswd

long:RXW3skaY5c3rU                             #加密的

重新加载nginx是配置生效

/application/nginx/sbin/nginx -t

/application/nginx/sbin/nginx -s reload

配置找不到首页文件时,展示目录结构: outoindex on;(一般不要用,除非有需求):

[[email protected] ~]# cat /application/nginx/conf/extra/blog.conf

server {

listen       192.168.254.120:83;

server_name  blog.etiantian.org;

location / {

root   html/blog;

index  index.html index.htm;

#           outoindex on;

}

access_log logs/access_blog.log main;

}

在配置文件设置allow、deny权限控制:

[[email protected] ~]# cat /application/nginx/conf/extra/blog.conf

server {

listen       192.168.254.120:83;

server_name  blog.etiantian.org;

location / {

root   html/blog;

index  index.html index.htm;

#           outoindex on;

allow 192.168.254.0/24;

deny all;

}

access_log logs/access_blog.log main;

}

时间: 2024-08-09 02:18:26

安装配置优化nginx的相关文章

Linux之tomcat 安装&配置&优化

Tomcat简介: 1.Tomcat就是用来解析jsp程序的一个软件 .(jsp是一种编程语言,即JAVA) 2.Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta项目中的一个核心项目,由   Apache.Sun和其他一些公司及个人共同开发而成. 3.Tomcat是一个轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开   发和调试JSP程序的首选. Tomcat的安装分为两个步骤:安装JDK和安装Tomca

Linux安装配置PHP+Nginx

一.PHP的安装 1.安装php7.0 软件下载  # wget  http://cn2.php.net/distributions/php-7.0.4.tar.gz 检查并安装依赖包    [[email protected] Desktop]# rpm -qa libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 curl-devel libxslt-devel openssl-devel    

Centos安装配置HAProxy+Nginx环境

在测试环境安装了一下Nginx(作为http服务器)和HAProxy(反向代理),并配置HAProxy的日志输出到/var/log/haproxy.log,笔记一下. 需要说明的是,这里仅涉及基本的安装.配置方法,并不涉及生产环境中的具体用法. 一.安装Nginx 1.准备环境 yum install -y gcc      #一般都有 yum install -y gcc-c++  #非必须 yum install -y pcre pcre-devel  #正则匹配 yum install -

ubuntu(乌班图) web开发环境搭建,常用软件安装,配置LAMP(nginx,php,mysql),常用软件 (ftp,redis)等安装

最近更换开发环境至ubuntu,整理开发环境和常用软件的安装配置一.LAMP环境搭建基于最新的Ubuntu 14.04(2014年9月)搭建nginx.php.mysql环境, 以下全部命令行操作: 1,由于需要大量的权限操作,方便起见临时提升权限,使用root账号 sudo su 2,安装apt源管理工具.添加nginx和php的安装源 apt-get install python-software-properties add-apt-repository ppa:nginx/stable

ELK系列一:ELK安装配置及nginx日志分析

本文分三个部分介绍了elk.elk安装配置及基于filebeat分析nginx日志的配置. 第一部分:elk介绍 一.什么是elk ELK 其实并不是一款软件,而是一整套解决方案,是三个软件产品的首字母缩写,Elasticsearch,Logstash 和 Kibana.这三款软件都是开源软件,通常是配合使用. 二.Elasticsearch 1.Elasticsearch介绍 Elasticsearch 是一个实时的分布式搜索和分析引擎,它可以用于全文搜索,结构化搜索以及分析.它是一个建立在全

在centos下编译安装配置高性能Nginx

安装nginx的依赖包:pcre, pcre-devel 编译nginx事实上需要的依赖包是pcre-devel,可以执行yum install pcre-devel 安装它.不过这个包的编译安装很简单,正好我们拿它练练手,熟悉熟悉linux编译安装软件的一般过程. [tips] linux下从源码编译安装软件一般是三步:配置.编译.安装.具体一点说就依次是执行三条命令:configure, make, make install. 不多讲理论,实际操作一下就明白了. 在build目录下创建子目录

ELK安装配置及nginx日志分析

一.ELK简介1.组成ELK是Elasticsearch.Logstash.Kibana三个开源软件的组合.在实时数据检索和分析场合,三者通常是配合使用,而且又都先后归于 Elastic.co 公司名下,故有此简称.Elasticsearch是个开源分布式搜索引擎,它的特点有:分布式,零配置,自动发现,索引自动分片,索引副本机制,restful风格接口,多数据源,自动搜索负载等.Logstash是一个完全开源的工具,它可以对你的日志进行收集.分析,并将其存储供以后使用.kibana 是一个开源和

[Nginx] – 配置优化 – NGINX.CONF [三]

本文主要针对nginx.conf配置文件,下面就把相关配置文件放到下面进行逐一的解释 1.user 语法: user user[group]; 标签: main 定义user和工作group 进程使用的凭证.如果group省略,user则使用名称等于的组. 2.worker_processes 句法: worker_processes number | auto; 默认: worker_processes 1; 标签: main --------------------- 例如, worker_

centos6.5安装配置fastdfs+nginx实现分布式图片服务器

一.准备 yum groupinstall -y "Development Tools"yum install -y wget libevent-devel pcre-devel zlib-devel wget https://fastdfs.googlecode.com/files/FastDFS_v4.06.tar.gz wget https://fastdfs.googlecode.com/files/fastdfs-nginx-module_v1.15.tar.gz wget