前言:
鉴于这个VMware虚拟机部署是常用的,但是安装起来步骤较多,比较繁琐。自己干脆完整写下整条流程,方便自己也方便大家,在写本文之前为了寻求完整过程,已将装好的进行了卸载,因此本文所有内容均是边安装、边编辑、且放的文章都是测试过后给出正确结果,力求真实完整且运行无障碍。本系列共六篇,涵盖了从搭建到部署完整流程,更多篇幅请点击上方专栏进行查看。
目录
一:下载Nginx
进入官网:nginx: download 下载稳定版的Nginx(这里采用最新)
二:Centos7 终端安装依赖
下载完毕后,确保你的虚拟机已经安装gcc、pcre-devel、zlib-devel、openssl-devel这些依赖库,若无安装请在您的Centos7终端中输入以下命令进行安装
yum install gcc pcre-devel zlib-devel openssl-devel
名称 | 用途 |
gcc |
|
pcre-devel |
|
zlib-devel |
|
openssl-devel |
|
当运行 yum install gcc pcre-devel zlib-devel openssl-devel 出现下图,一般建议选择 y
,同意安装所有相关依赖包,这样能保证正常编译和运行Nginx。
选择项 | 作用 |
y | 输入 |
d | 输入 |
n | 直接回车或输入 N ,表示取消本次安装操作 |
三:上传、解压、安装Nginx包
1. 找到您下载的 nginx-1.24.0.tar.gz 源码包并将其上传至服务器某个目录,比如/usr/local/nginx,这里我为了方便,采用winScp进行上传
2.在Centos7终端中切换到 /usr/local/nginx 该目录,进行解压 (请注意此步,正确填写您的包名)
tar -zxvf 【您的包名】.tar.gz
tar -zxvf nginx-1.24.0.tar.gz
3. 进入解压后的目录:cd nginx-1.24.0
4. 分别执行以下三个命令,安装Nginx
./configure
make
make install
四:启动Nginx
1.切换到 cd /usr/local/nginx 这个目录,启动Nginx服务
./sbin/nginx
2. 查看服务是否启动成功
ps -ef | grep nginx
3.查看自己ip,并在Centos7自带火狐浏览器输入查看是否启动成功
ifconfig
4. 添加防火墙放行tcp80端口,任选其一,推荐永久放行一劳永逸(放行后在本地就可以看到相应的网页内容)
* 可能会有个疑问,为什么放行80而不是其他呢,因为Nginx默认 server 中的 listen 端口是80
# 添加放行端口
firewall-cmd --add-port=80/tcp # 临时放行
firewall-cmd --add-port=80/tcp --permanent # 写入配置文件永久放行
# 取消放行端口
firewall-cmd --remove-port=80/tcp # 取消临时
firewall-cmd --remove-port=80/tcp --permanent # 取消永久放行
# 重启生效(添加 或 取消 都需要执行此命令,确保及时生效)
firewall-cmd --reload
五: Nginx 其他
1.对Centos7在VMware虚拟机中的开关机 ,会导致Nginx掉线,运行以下命令重启
【请注意: /usr/local/nginx/sbin/ 是指自己nginx路径,如果您根据我以上步骤走,下述命令可使掉线后启动】
/usr/local/nginx/sbin/nginx
2. Nginx 其他命令(记得加绝对路径)
nginx # 开关机后虚拟机掉线的启动
nginx -s reload # 重新载入配置文件
nginx -s reopen # 重启 Nginx(在nginx运行状态以及修改conf配置文件时使用,否则报错)
nginx -s stop # 停止 Nginx
2.nginx.conf 默认配置说明
#user nobody; #定义运行 Nginx worker 进程的用户,默认 nobody
worker_processes 1; #worker 进程数,建议设置为机器 CPU 核心数,这里设置为 1 个进程
#error_log logs/error.log; #错误日志文件路径,默认为关闭,需手动指定
#error_log logs/error.log notice; #设置错误日志级别,输出大于等于 notice 等级的日志
#error_log logs/error.log info; #设置错误日志级别,输出大于等于 info 等级的日志
#pid logs/nginx.pid; #设置 Nginx 进程 PID 文件的存放路径
events {
worker_connections 1024; #设置单个 worker 进程最大连接数
}
http {
include mime.types; #引入 mime.types 配置文件,设置 HTTP 响应的 Content-Type
default_type application/octet-stream; #默认响应的 Content-Type
#log_format main '$remote_addr - $remote_user [$time_local] "$request" '
# '$status $body_bytes_sent "$http_referer" '
# '"$http_user_agent" "$http_x_forwarded_for"'; #自定义访问日志格式
#access_log logs/access.log main; #启用访问日志,并指定存放路径和格式为 main
sendfile on; #开启高效文件传输模式
#tcp_nopush on; #在 sendfile 开启时,可以防止网络包的唐突传输
#keepalive_timeout 0; #禁止长连接
keepalive_timeout 65; #长连接超时时间为 65 秒
#gzip on; #启用 gzip 压缩
server { #HTTP 服务配置
listen 80; #配置监听端口为 80
server_name localhost; #设置服务器名称为 localhost
#charset koi8-r; #设置响应编码为 koi8-r
#access_log logs/host.access.log main; #指定该虚拟主机的访问日志
location / { #根目录配置
root html; #网站根目录为 /path/to/nginx/html
index index.html index.htm; #默认索引文件
}
#error_page 404 /404.html; #设置 404 错误页面
error_page 500 502 503 504 /50x.html; #设置 500/502/503/504 错误页面
location = /50x.html { #定义错误页面存放路径
root html;
}
# 其他代码段为注释,暂不解释
}
}