最近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步
- 检查是否需要,否则下载依赖软件
- 一个一个编译依赖软件
- 编译安装nginx然后启动
这就启动了一个Web服务器了,上面的脚本跑完效果如下:
一键安装
上的代码需要配置一台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. 改一下标题和欢迎内容为中文,如下:
改掉主要是:
- 修改title标签块,标题加了’[雷学委]’
- 修改body内的h1标签块的文本改为:欢迎使用Nginx
保存刷新浏览器页面,改动马上生效哦!因为是Nginx是直接加载html目录的静态资源的。
重点来了:怎么把默认网站成个人站点
很好办,把个人网页打包解压到上面的html目录,覆盖里面的文件包括index.html。
Nginx很轻量还支持大并发(单台万级并发),网站加载速度直接起飞!当然,除非别人也是Nginx。
就分享这么多,先用起来。
如果是有动态网站的,把静态内容直接nginx处理,动态的交给像tomcat这种,性能至少翻倍提高,懂了吧!这个后面会细讲。