天天看點

一鍵安裝伺服器中的超跑Nginx!讓網站性能起飛,不花冤枉錢!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伺服器了,上面的腳本跑完效果如下:

一鍵安裝伺服器中的超跑Nginx!讓網站性能起飛,不花冤枉錢!Nginx 是什麼一鍵安裝學點原理,然後定制頁面試試重點來了:怎麼把預設網站成個人站點

一鍵安裝

上的代碼需要配置一台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. 改一下标題和歡迎内容為中文,如下:

一鍵安裝伺服器中的超跑Nginx!讓網站性能起飛,不花冤枉錢!Nginx 是什麼一鍵安裝學點原理,然後定制頁面試試重點來了:怎麼把預設網站成個人站點

改掉主要是:

  • 修改title标簽塊,标題加了’[雷學委]’
  • 修改body内的h1标簽塊的文本改為:歡迎使用Nginx

儲存重新整理浏覽器頁面,改動馬上生效哦!因為是Nginx是直接加載html目錄的靜态資源的。

一鍵安裝伺服器中的超跑Nginx!讓網站性能起飛,不花冤枉錢!Nginx 是什麼一鍵安裝學點原理,然後定制頁面試試重點來了:怎麼把預設網站成個人站點

重點來了:怎麼把預設網站成個人站點

很好辦,把個人網頁打包解壓到上面的html目錄,覆寫裡面的檔案包括index.html。

Nginx很輕量還支援大并發(單台萬級并發),網站加載速度直接起飛!當然,除非别人也是Nginx。

就分享這麼多,先用起來。

如果是有動态網站的,把靜态内容直接nginx處理,動态的交給像tomcat這種,性能至少翻倍提高,懂了吧!這個後面會細講。

對了,學委還有這個可以關注長期閱讀 =>雷學委趣味程式設計故事彙編

或者=> 雷學委NodeJS系列

持續學習持續開發,我是雷學委!

程式設計很有趣,關鍵是把技術搞透徹講明白。

歡迎關注,還有盡情點贊收藏!

繼續閱讀