编译安装nginx及简单优化配置

一、背景

使用源码包安装lnmp架构及简单的优化配置

二、实验环境

rhel6.5

三、安装过程

1、nginx(提前装好gcc等编译器)

(1) 下载源码包  http://nginx.org/

(2) tar -zxf nginx-1.8.1.tar.gz

(3) cd nginx-1.8.1

vim auto/cc/gcc

修改第179行 (将本行注释,意为取消debug模式,)

(4) ./configure --prefix=/usr/local/lnmp/nginx \

--with-http_ssl_module \      //https模块

--with-http_stub_status_module    //nginx监控模块

[注]:笔者在./configure时遇到了两个错误

第一个为 找不到rewrite模块(pcre)用yum安装时提示已安装pcre,最后使用yum安装pcre-devel包解决

第二个为找不到openssl模块,同样安装openssl-devel包解决

(5) make && make install

(6) 修改环境变量

进入当前用户家目录下

vim .bash_profile

在PATH变量后添加:/usr/local/lnmp/nginx/sbin

(7) nginx(启动服务)

(8) nginx(停止服务)

2、对nginx的简单优化和配置

(1) 此处推荐一个ngnix优化的网站 http://nginx.cn/doc

优化可具体根据需求参考该网站上的文档进行

(2)  压力测试

ab -n(总数) 1000 -c(并发) http://172.25.8.63/index.html (该命令需在已安装apache的主机上运行)

(3)影响nginx处理速度的三个文件(分别针对nginx本身、系统、硬件设备)

1、/usr/local/lnmp/nginx/conf/nginx.conf

增加一行:worker_rlimit_nofile         65535;

2、/etc/security/limits.conf

增加条目

*        hard        nproc        65535

3、查看/proc/sys/fs/file-max 是否大于以上两个参数(硬件设备应满足其他软件和系统的需要)

(4) 添加https

vim /usr/local/lnmp/nginx/conf/nginx.conf 修改为以下字段

(5) 生成cert.pem证书

cd /etc/pki/tls/certs

make cert.pem

mv cert.pem /usr/local/lnmp/nginx/conf

nginx -t

nginx -s reload

完成后即可通过https://172.25.8.63 访问

3、nginx虚拟主机

配置如下

4、nginx反向代理

首先配置server1和server2安装apache充当http的realserver

分别在默认发布页面写入

echo "<h1>server1.example.com</h1>" > /var/www/html/index.html

echo "<h1>server2.example.com</h1>" > /var/www/html/index.html

修改nginx端配置文件如下

四、结语

nginx的基本配置就如上所述,nginx是一个功能非常强大web服务器,在以后的学习中还需要更加详细的了解学习。由于本人水平有限,难免出现一些错误,还请各位指出,谢谢。

时间: 2024-12-09 20:28:23

编译安装nginx及简单优化配置的相关文章

RedHat 7 编译安装Nginx 1.12并配置WEB站点

一.安装环境 1.操作系统版本:Red Hat Enterprise Linux Server release 7.2 (Maipo) 2.Nginx版本:nginx-1.12.2.tar.gz 3.pcre版本:pcre-8.42.tar.gz 4.zlib版本:zlib-1.2.11.tar.gz 5.openssl版本:openssl-1.0.2l.tar.gz 二.安装说明 官网上关于Nginx的依赖包说明如下: 三.安装过程 1.安装gcc:yum install gcc-c++ -y

编译安装 Nginx 及简单配置

1.安装依赖包 yum -y install pcre-devel zlib-devel openssl-devel gcc gcc-c++ make //pcre,openssl 可选择编译安装 2.创建应用用户 useradd -M -s /sbin/nologin nginx 3.安装 nginx #tar xf nginx-1.14.0.tar.gz -C /usr/local/src/ #cd /usr/local/src/nginx-1.14.0/ #./configure --pr

编译安装Nginx及基本配置

一.编译安装Nginx # yum install pcre-devel openssl-devel zlib-devel gcc gcc-c++ -y        ==>编译前所需要的包 # groupadd -r nginx        ==>新建nginx系统组 # useradd -r -g nginx nginx        ==>nginx系统帐号 # ./configure --prefix=/usr/local/nginx --conf-path=/etc/ngin

编译安装nginx时配置开机自启

详细编译安装nginx请参考[Nginx目录结构与配置文件详解]以及[Nginx安装部署],在这里就进行简单安装 安装Nginx 环境介绍 操作系统: [[email protected] ~]# cat /etc/redhat-release CentOS Linux release 7.6.1810 (Core) [[email protected] ~]# uname -a Linux localhost.localdomain 3.10.0-957.el7.x86_64 #1 SMP T

Centos7 编译安装 Nginx、MariaDB、PHP

前言 本文主要大致介绍CentOS 7下编译安装Nginx.MariaDB.PHP.面向有Linux基础且爱好钻研的朋友.技艺不精,疏漏再所难免,还望指正. 环境简介: 系统: CentOS 7,最小化安装 IP: 192.168.170.128 Nginx: 1.6.1 MariaDB: 5.5.39 PHP: 5.5.16 1.准备工作 1.1.系统硬件准备 尽管Linux能最大化发挥硬件资源,但RHEL/CentOS随着版本增加对最低硬件的配置也越来越高[1].RHEL7/CentOS最低

开发人员学Linux(5):CentOS7编译安装Nginx并搭建Tomcat负载均衡环境

1.前言在上一篇讲述了JMeter的使用,在本篇就可以应用得上了.本篇将讲述如何编译安装Nginx并利用前面的介绍搭建一个负载均衡测试环境.2.软件准备Nginx-1.12.0,下载地址:https://nginx.org/download/nginx-1.12.0.tar.gzTomcat8(本系列已介绍过如何下载和安装)JMeter(本系列已介绍过如何下载和使用)注:VirtualBox宿主机IP为"192.168.60.16,虚拟机IP为:192.168.60.198,虚拟机通过桥接方式接

centos 6.3 编译安装 nginx +mysql + php

一篇文章是对另一篇文章的整理,作为记录收藏 1,配置防火墙,开启80端口.3306端口 配置iptables,开启80端口.3306端口 vi /etc/sysconfig/iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT #允许80端口通过防火墙 -A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT #允许3306端口

编译安装nginx后service nginx start 启动不了

平时都是yum安装nginx的,今天没事就在虚拟机上编译安装了一回.安装过程很简单,就不一一赘述了. 当我习惯性的用service nginx start启动时,却启动不了.怎么办了,网上看了看,得写脚本.我去,对于 初入门的新手,最怕的就是写脚本了.有什么简单办法没?脚本必须写啊,不写启动不了啊.那怎么办,直接 复制网上的,没意思.思来想去最后决定改造nginx启动脚本.具体思路是这样的,现在另一台虚拟机上yum 安装nginx,安装好后把/etc/init.d/nginx脚本拷贝到另一台编译

ansible-playbook 手工编译安装nginx

虽然nginx也可以通过yum安装,但是如何使用源码包安装并自定义开启一些nginx功能模块,并且通过ansible下发到被管理集群呢?下面给给位看官提供一个具体实例以供参考.首先我们需要手工编译好一台nginx服务器作为模板,再采用roles角色管理的方式将其解耦,并下发到被管理集群,具体步骤如下:实验环境:ansibleserver,nginx模板:(IP:192.168.252.130 centos7)Mysqlserver: (IP:192.168.252.173 centos7)Web