网络知识 娱乐 linux安装nginx详细步骤

linux安装nginx详细步骤

笔者初级接触linux下web部署环境搭建,此篇文章主要目的是为方便后期自己再搭建将搭建过程中所查询到的资料进行全部重新整理记录,并记录下所踩的坑。

一、安装nginx依赖

#安装gcc
yum install gcc-c++
 
#安装PCRE pcre-devel
yum install -y pcre pcre-devel
 
#安装zlib
yum install -y zlib zlib-devel
 
#安装Open SSL
yum install -y openssl openssl-devel

二、下载并解压nginx安装包

1、下载nginx安装包

wget http://nginx.org/download/nginx-1.16.1.tar.gz 

也可以通过nginx官网下载

下载完成后将压缩包通过ssh命令使用winscp工具或其他工具上传至服务器

2、解压nginx安装包

#创建一个文件夹
cd /usr/local
mkdir nginx
cd nginx

#解压缩包,直接tar -xvf nginx安装包所在路径
tar -xvf nginx-1.16.1.tar.gz

三、安装nginx

#进入nginx目录
cd /usr/local/nginx
#进入目录
cd nginx-1.16.1
#编译 执行命令 考虑到后续安装ssl证书 添加两个模块  如不需要直接执行./configure即可
./configure --with-http_stub_status_module --with-http_ssl_module
#执行make命令(要是执行不成功请检查最开始安装的四个依赖有没有安装成功)
make
#执行make install命令
make install

补充查看编译参数

# 查看编译参数
./configure --help | more 

四、启动nginx

cd /usr/local/nginx/sbin
# 默认配置文件启动
./nginx

# 指定配置文件启动
./nginx -c  /usr/local/nginx/conf/nginx.conf

若成功启动,在浏览器地址栏中输入服务器ip即可看到经典的nginx欢迎页
在这里插入图片描述
但是!!!
但是!!!
但是!!!
所谓成功的道路上总是会不那么一帆风顺

在这里插入图片描述
这个时候你会非常怀疑人生,我到底哪里走错了,我明明一步一步走的啊。
在这里插入图片描述
这个时候你要相信自己没有错,之所以没有成功出来欢迎页,其原因在于所部署的服务器ip没有进行备案的话,那么默认nginx监听的80端口是没有权限访问的,所以只会得到一个无法访问,请检查网络是否正常的页面。

想要看到成功页两种解决办法

1、申请ip的备案

2、修改nginx配置文件的http监听端口

五、停止、重启nginx

cd /usr/local/nginx/sbin
# 停止指令
./nginx -s stop
# 或
./nginx -s quit

# 重启命令
./nginx -s reload

# 查看nginx进程
ps -ef|grep nginx

六、设置开机自启动nginx

#编辑
vim /etc/rc.local
 
#最底部增加这一行
/usr/local/nginx/sbin/nginx

ll查看下rc.local文件,如果不是绿色表示没有执行权限,则执行指令chmod +x /etc/rc.local

七、补充

1、配置nginx.conf

若要修改监听端口,可打开nginx的配置文件进行修改。

# 打开配置文件
vi /usr/local/nginx/conf/nginx.conf

将端口号改成8089(随便挑个端口)。
将localhost修改为你服务器的公网ip地址。
在这里插入图片描述

2、防火墙端口设置

若想使用外部主机访问nginx,上一步中若修改默认的80端口为8089,则需要关闭服务器防火墙或开放nginx服务端口。

centOS6及以前版本使用命令:

systemctl stop iptables.service

centOS7关闭防火墙命令:

systemctl stop firewalld.service

关闭防火墙会导致服务器有一定风险,所以建议是单独开放服务端口:

firewall-cmd --zone=public --add-port=8089/tcp --permanent

查询端口号8089 是否开启:

firewall-cmd --query-port=8089/tcp

重启防火墙:

firewall-cmd --reload

查看firewall防火墙状态和开放端口

# 查看firewall防火墙状态
systemctl status firewalld
# 查看firewall防火墙开放端口
firewall-cmd --list-ports

禁止firewall防火墙开机启动

#禁止firewall开机启动 
systemctl disable firewalld.service

3、补充命令

# 查看帮助信息
cd /usr/local/nginx/sbin

./ngxin -h
# 查看安装时配置
cd /usr/local/nginx/sbin

./nginx -V
# 查看配置文件是否正确
cd /usr/local/nginx/sbin

./nginx -t

直接使用nginx指令,若提示未找到命令

# 编辑/etc/profile文件vim /etc/profile在末尾处添加
PATH=$PATH:/usr/local/nginx/sbin
export PATH
# 执行指令
source /etc/profile