一键安装服务器中的超跑Nginx!让网站性能起飞,不花冤枉钱!

简介: 学委之前写过 Docker玩腻了,不妨试试用Vagrant 和 Vagrant使用笔记

最近Nginx很火(这玩意很多年了),学委16年就开始用了,这里总结准备了一键安装的方法,送给大家,学会不用花冤枉钱买更多强劲服务器了!


跟着一步一步学习一下,文末有一键安装的技巧(自动帮你源码编译!)


Nginx 是什么

它是一个轻量级的高性能的 Web 服务器 / 反向代理服务器,同时也是一个IMAP/POP3/SMTP 代理服务器。


反正是一个好东西来着,“服务器中的超跑”值得耐心学习一下!主要是性能强,做个简单站点不用花太多钱买更高配置。


小白不太清楚作用,可以把它当做一个很牛的服务器软件!我们可以在这个服务器软件内放置自己制作的漂亮页面。


这里展示安装重点,然后学委最后会修改一下页面,一起看看吧。


安装 - 源码编译安装Nginx

下面是亲测可用的脚本(早在几年前就放在学委的Github上了,现在运行还是完美的!)


保存代码为leixuewei.sh, 并在CentOS7运行。


systemctl stop firewalld.service
#use alibaba yum repo
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup`date '+%Y%m%d_%H%M%S'` 
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
yum clean all
yum makecache
#get netstat
yum -y install net-tools
yum -y vim
#get deps to compile python modules
yum -y install gcc automake autoconf libtool make
yum -y install gcc
yum -y install gcc-c++
mkdir /toolings/xuewei
cp /tmp/*.tar.gz /toolings/xuewei
cd /toolings/xuewei
nginx=/toolings/xuewei/nginx/nginx
#for url rewrite
if [ ! -e pcre.tar.gz ] ; then curl -k https://jaist.dl.sourceforge.net/project/pcre/pcre/8.34/pcre-8.34.tar.gz -o pcre.tar.gz ; fi
tar -zxvf pcre.tar.gz
if [ ! -e $nginx ] ; then cd pcre-8.34 && ./configure && make && make install ; fi
cd /toolings/xuewei
if [ ! -e zlib.tar.gz ] ; then curl -k https://nchc.dl.sourceforge.net/project/libpng/zlib/1.2.11/zlib-1.2.11.tar.gz -o zlib.tar.gz ; fi
tar -zxvf zlib.tar.gz
if [ ! -e $nginx ] ; then cd zlib-1.2.11/ && ./configure && make && make install ; fi
cd /toolings/xuewei
if [ ! -e openssl.tar.gz ] ; then curl -k https://www.openssl.org/source/openssl-1.0.1t.tar.gz -o openssl.tar.gz ; fi
tar -zxvf openssl.tar.gz
cd openssl-1.0.1t/
./config shared zlib  --prefix=/toolings/xuewei/openssl 
if [ ! -e $nginx ] ; then make && make install ; fi
cd /toolings/xuewei
if [ ! -e nginx.tar.gz ] ; then curl http://nginx.org/download/nginx-1.4.2.tar.gz -o nginx.tar.gz ; fi
tar -zxvf nginx.tar.gz
cd nginx-1.4.2/
./configure --sbin-path=/toolings/xuewei/nginx/nginx \
--conf-path=/toolings/xuewei/nginx/nginx.conf \
--pid-path=/toolings/xuewei/nginx/nginx.pid \
--with-http_ssl_module \
--with-pcre=/toolings/xuewei/pcre-8.34 \
--with-zlib=/toolings/xuewei/zlib-1.2.11 \
--with-openssl=/toolings/xuewei/openssl-1.0.1t
if [ ! -e $nginx ] ; then make && make install ; fi
ln -s $nginx /usr/bin/nginx
cd /toolings/xuewei/nginx && ls -rtla
#netstat -ano|grep 80
netstat -tulnp|grep 80
cd / && nohup /toolings/xuewei/nginx/nginx &
netstat -tulnp|grep 80|egrep -v '80[0-9]+'
echo "[雷学委温馨提示] nginx is started"

代码解析:

上面的代码主要分为3步

  1. 检查是否需要,否则下载依赖软件
  2. 一个一个编译依赖软件
  3. 编译安装nginx然后启动

这就启动了一个Web服务器了,上面的脚本跑完效果如下:

image.png

一键安装

上的代码需要配置一台Linux虚拟机或者有一台Linux服务器,比较麻烦。


所以创建一个目录放置Vagrantfile,然后跑vagrant up启动完事。


具体操作如下,完成一次操作以后都能反复用。


创建一个目录里面放置Vagrantfile

所以学委准备了下面的Vagrantfie。


Vagrant.configure("2") do |config|
  config.vm.box = "centos/7"
  config.vm.box_check_update = false
  config.vm.provider "virtualbox"
  $num_vms = 1
  (1..$num_vms).each do |id|
    config.vm.define "nginxbox#{id}" do |node|
      node.vm.hostname = "nginxbox#{id}"
      #node.vm.network :private_network, ip: "10.64.4.#{id}",  auto_config: true
      config.vm.network "forwarded_port", guest: 80, host: 80, auto_correct: true # nginx  
      node.vm.provider :virtualbox do |vb, override|
        vb.name = "雷学委Demo的Nginxbox#{id}"
        vb.gui = false
        vb.memory = 2048
        vb.cpus = 1
      end
      config.vm.provision "shell", path: "leixuewei.sh"
    end
  end
end

然后打开终端运行vagrant up

这样就一键启动安装Nginx了, 做成的虚拟机还能分享给其他人呢。


其他操作(非必要操作)

如果想要加快安装的朋友,需要学习更多Vagrant知识-> Vagrant使用笔记,然后把下面的内容加到Vagrantfile。并跟着下载软件包。


      config.vm.provision "file", source: "lib/nginx-1.4.2.tar.gz", destination: "/tmp/nginx.tar.gz"
      config.vm.provision "file", source: "lib/openssl-1.0.1t.tar.gz", destination: "/tmp/openssl.tar.gz"
      config.vm.provision "file", source: "lib/pcre-8.34.tar.gz", destination: "/tmp/pcre.tar.gz"
      config.vm.provision "file", source: "lib/zlib-1.2.11.tar.gz", destination: "/tmp/zlib.tar.gz"
      config.vm.provision "file", source: "nginx.conf", destination: "/tmp/nginx.conf"

读者可以先去下载相关依赖


https://nchc.dl.sourceforge.net/project/libpng/zlib/1.2.11/zlib-1.2.11.tar.gz

https://www.openssl.org/source/openssl-1.0.1t.tar.gz

https://jaist.dl.sourceforge.net/project/pcre/pcre/8.34/pcre-8.34.tar.gz

http://nginx.org/download/nginx-1.4.2.tar.gz


非必选,下载上面的包放到当前目录的lib下面。


学点原理,然后定制页面试试

默认安装nginx内部如何运作?

nginx通过读取/toolings/xuewei/nginx/nginx.conf文件,加载内部的server模块。

server模块内监听了80端口,同时影射了网站到当前目录的html文件夹(也就是/toolings/xuewei/nginx/html目录),加载里面的静态文件。


好了,就知道这么多就够了。


我们进入虚拟机(Linux主机)内的/toolings/xuewei/nginx/html目录,找到下面的index.html. 改一下标题和欢迎内容为中文,如下:


image.png

改掉主要是:

  • 修改title标签块,标题加了’[雷学委]’
  • 修改body内的h1标签块的文本改为:欢迎使用Nginx

保存刷新浏览器页面,改动马上生效哦!因为是Nginx是直接加载html目录的静态资源的。


image.png

重点来了:怎么把默认网站成个人站点

很好办,把个人网页打包解压到上面的html目录,覆盖里面的文件包括index.html。


Nginx很轻量还支持大并发(单台万级并发),网站加载速度直接起飞!当然,除非别人也是Nginx。


就分享这么多,先用起来。


如果是有动态网站的,把静态内容直接nginx处理,动态的交给像tomcat这种,性能至少翻倍提高,懂了吧!这个后面会细讲。


目录
相关文章
|
18天前
|
NoSQL 关系型数据库 Redis
mall在linux环境下的部署(基于Docker容器),Docker安装mysql、redis、nginx、rabbitmq、elasticsearch、logstash、kibana、mongo
mall在linux环境下的部署(基于Docker容器),docker安装mysql、redis、nginx、rabbitmq、elasticsearch、logstash、kibana、mongodb、minio详细教程,拉取镜像、运行容器
mall在linux环境下的部署(基于Docker容器),Docker安装mysql、redis、nginx、rabbitmq、elasticsearch、logstash、kibana、mongo
|
24天前
|
缓存 应用服务中间件 nginx
安装nginx-http-flv-module模块
本文介绍如何为Nginx安装`nginx-http-flv-module`模块。此模块基于`nginx-rtmp-module`二次开发,不仅具备原模块的所有功能,还支持HTTP-FLV播放、GOP缓存、虚拟主机等功能。安装步骤包括:确认Nginx版本、下载相应版本的Nginx与模块源码、重新编译Nginx并加入新模块、验证模块安装成功。特别注意,此模块已包含`nginx-rtmp-module`功能,无需重复编译安装。
66 1
|
29天前
|
Ubuntu 应用服务中间件 Linux
在Linux中,如何配置Web服务器(如Apache或Nginx)?
在Linux中,如何配置Web服务器(如Apache或Nginx)?
|
1月前
|
负载均衡 应用服务中间件 Linux
"揭晓nginx的神秘力量:如何实现反向代理与负载均衡,拯救服务器于水火?"
【8月更文挑战第20天】在Linux环境下,nginx作为高性能HTTP服务器与反向代理工具,在网站优化及服务器负载均衡中扮演重要角色。本文通过电商平台案例,解析nginx如何解决服务器压力大、访问慢的问题。首先介绍反向代理原理,即客户端请求经由代理服务器转发至内部服务器,隐藏真实服务器地址;并给出配置示例。接着讲解负载均衡原理,通过将请求分发到多个服务器来分散负载,同样附有配置实例。实践表明,采用nginx后,不仅服务器压力得到缓解,还提升了访问速度与系统稳定性。
48 3
|
29天前
|
应用服务中间件 Linux 网络安全
在Linux中,如何配置Apache或Nginx Web服务器?
在Linux中,如何配置Apache或Nginx Web服务器?
|
30天前
|
应用服务中间件 Linux nginx
【Nginx 第二篇章】windwos、linux、docker-compose 安装 NGINX
在一节中,我们介绍了如何在Windows环境下安装Nginx,包括从官网下载稳定版压缩包、解压并直接运行`nginx.exe`启动服务,最后通过浏览器访问`http://localhost/`验证安装。第二节覆盖了Linux环境下的安装流程,首先安装必要依赖,接着利用包管理器安装Nginx,并通过`systemctl`或`service`命令启动,同样通过浏览器确认安装成功。第三节则展示了如何使用`docker-compose`轻松部署Nginx,通过编写`docker-compose.yml`文件定义服务和配置映射,最后执行`docker-compose up -d`后台启动容器。
29 0
|
缓存 监控 应用服务中间件
|
缓存 监控 应用服务中间件
|
1天前
|
缓存 前端开发 JavaScript
终极 Nginx 配置指南(全网最详细)
本文详细介绍了Nginx配置文件`nginx.conf`的基本结构及其优化方法。首先通过删除注释简化了原始配置,使其更易理解。接着,文章将`nginx.conf`分为全局块、events块和http块三部分进行详细解析,帮助读者更好地掌握其功能与配置。此外,还介绍了如何通过简单修改实现网站上线,并提供了Nginx的优化技巧,包括解决前端History模式下的404问题、配置反向代理、开启gzip压缩、设置维护页面、在同一IP上部署多个网站以及实现动静分离等。最后,附上了Nginx的基础命令,如安装、启动、重启和关闭等操作,方便读者实践应用。
122 77
终极 Nginx 配置指南(全网最详细)
|
1月前
|
应用服务中间件 nginx Docker
本地通过域名访问虚拟机上nginx的服务、搭建域名访问环境一(反向代理配置)
这篇文章介绍了如何通过域名在本地访问虚拟机上的nginx服务,包括创建nginx容器、修改配置文件、修改本地host文件以及进行访问测试的详细步骤。文章提供了具体的Docker命令来创建并配置nginx容器,展示了配置文件的修改示例,说明了如何在本地系统的hosts文件中添加虚拟机IP和自定义域名,以及如何通过浏览器进行测试访问。
本地通过域名访问虚拟机上nginx的服务、搭建域名访问环境一(反向代理配置)