[全网最全]Linux Ubuntu 从头安装Nginx服务
前言
一个基础的服务器,需要安装Nginx进行数据转发,一般来说,都是Nginx搭配tomcat进行使用,尤其是在只有一台服务,需要部署多个项目的时候,Nginx的好处有很多,如负载均衡,多项目分发等,我就不一一列举了,想要了解更多的可以自己前去搜索,下面,将为大家一步步的带来Nginx的安装。
环境
华为云
Linux Ubuntu
准备:选一个靠谱的Nginx
很多人都会直接安装Nginx的官方版本,或者随便百度一个版本进行安装,其实这可能为以后埋下很多坑,所以,我们上来就要找到一个正路子,路子对了,方向就不会偏差。
所以,我选择淘宝的Tenginx。
Tengine是由淘宝网发起的Web服务器项目。它在Nginx的基础上,针对大访问量网站的需求,添加了很多高级功能和特性。Tengine的性能和稳定性已经在大型的网站如淘宝网,天猫商城等得到了很好的检验。它的最终目标是打造一个高效、稳定、安全、易用的Web平台。
当然这也是我家运维推荐的,反正现在公司1000次/秒的访问速度,对他来说没有一点压力。
你只需要从他的众多版本中选择一版(一般我会选择最新版)安装即可。
开始安装
第一步:进入usr目录,创建tengine文件夹
cd /usr
mkdir tengine

第二步:进入创建的文件夹,下载Tengine 最新版本
cd /usr/tengine
wget http://tengine.taobao.org/download/tengine-2.3.2.tar.gz

第三步:解压下载的文件
tar -xvf tengine-2.3.2.tar.gz
第四步:进入解压的目录(/usr/tengine/tengine-2.3.2),开始安装
./configure
这个时候,你会发现安装失败,报错为
./configure: error: the HTTP rewrite module requires the PCRE library.

不用担心,因为Nginx依赖了一些东西,我们需要将这些依赖的东西安装上,就可以再继续安装了。
第五步:安装Nginx所需依赖(如果你是root账户,直接执行即可,不是的话前面加 sudo获取权限)
1.查看zlib是否安装(基本都会默认安装的,这里为了保险起见,先检测):
dpkg -l | grep zlib
2.解决依赖包openssl安装(可能会稍等一会,不要慌张,慢慢来)
apt-get install openssl libssl-dev
3.解决依赖包pcre安装
apt-get install zlib1g-dev
4.解决依赖包zlib安装
apt-get install zlib1g-dev
第六步,开始正式安装Nginx(经典三步)
./configure
make
make install
在执行make install 后,可能会出现以下提示,正常现象,无需担心
make[1]: Leaving directory '/usr/tengine/tengine-2.3.2'
第七步:找到Nginx的安装位置(/usr/local/nginx )
cd /usr/local/nginx
ls

第八步:开启nginx(在sbin目录下)
cd sbin
./nginx
第九步:打开浏览器,输入ip/域名查看Nginx是否安装成功

出现以下界面就为成功了。
问题排查
1、端口占用
很多人完成安装了,nginx启动的时候可能会出现80端口被占用情况

这个时候,应该排查一下那个服务占用了80端口
netstat -tunlp

因为我为了演示又重启了一次nginx服务,所以80端口被nginx占用了。
1.一般情况下,如果你是一台空服务器的话,基本都是因为重复启动nginx造成的
2.如果你是一台旧服务器,上面装着程序,基本都是因为tomcat占用了
3.解决方法就是在你确定80端口要放开的时候,就把进程 kill 掉就行
2、云服务器未开放80端口(最最最最最最最最常见的!)
如果你是用的云服务器,你需要在安全组中放开80端口,这个根据你所购买的云服务器不同,需要自行进行放开,lz这里是华为云的服务器,所以在安全组中放开常用的端口即可。

3、放开服务器的80端口(基本不会到这一步,除非你自己安装的虚拟机,附个链接自己看看吧)
[https://www.cnblogs.com/Siegel/p/7374220.html](https://www.cnblogs.com/Siegel/p/7374220.html)
总结:
这是lz第一次自己安装Nginx服务器,跟我家运维沟通了好几个小时,他还给我操作演示了一番,可是当自己真正实际安装了时候还是遇到了很多坑,最后都一点点搜索解决了。
其实知道Nginx已经很长时间了,但是还从来没真正的用过,之前服务器也只是跑一台Tomcat,80端口也一直给了tomcat使用,但是这样存在很多弊端,比如:多个域名指向这台服务器的是否无法分包加载,https想配置多个更是难上加难。
但是,有了Nginx,一切就不一样了。他可以在一台服务器上配置不同域名转发到不同的tomcat上,还可以在配置多个https证书,更可以进行负载均衡,在业务量大的时候缓解一个tomcat的压力。总之好处多多。
后续我将继续更新Nginx的参数配置,一点点学习,一点点应用到实际中来。
附tomcat安装方式:
https://www.jianshu.com/p/e8faf67081b3?utm_campaign=hugo&utm_medium=reader_share&utm_content=note&utm_source=weixin-friends