资讯专栏INFORMATION COLUMN

Nginx笔记-0-Centos环境下安装

Rindia / 1974人阅读

摘要:如果发现运行只有一行回显,可能是当前端口被占用,使用端口号,默认,如果打印结果为两行或以上,即端口被占用,需要修改配置文件的端口号再重新运行。

概述

记录一下 Nginx 通过安装包以及通过源代码安装两种方式。目标是第一次接触 Nginx 的人也能看懂直接用。

一. 使用安装包配置
Tip: 这种安装方式比较简单,官方文档也说得比较清楚详细。这里搭建的环境是 Centos7, 可以systemctl 命令操作 Nginx,使用 Centos6的童鞋请参考本文的 二、从源代码安装-Step3. 配置控制脚本 部分描述。
Step1: 下载安装

运行 sudo yum install yum-utils 安装依赖;

进入目录 /etc/yum.repos.d,运行 vim nginx.repo 创建文件并黏贴以下代码:

[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key

[nginx-mainline]
name=nginx mainline repo
baseurl=http://nginx.org/packages/mainline/centos/$releasever/$basearch/
gpgcheck=1
enabled=0
gpgkey=https://nginx.org/keys/nginx_signing.key

使用命令行安装 Nginx: sudo yum install nginx

设置 Nginx 开机启动:systemctl enable nginx.service

至此安装已经全部完成

Step2: 使用

配置 nginx.conf 文件位置通常在如下三个地方:

/usr/local/nginx/conf

/etc/nginx

/usr/local/etc/nginx

操作:

查看Nginx进程:ps -ef | grep nginx

基本操作:

启动 Nginx: systemctl start nginx.service

查询 Nginx 状态:systemctl status nginx.service

停止 Nginx: systemctl stop nginx.service

修改配置后测试: nginx -t

配置生效(重载):systemctl reload nginx.service

常用操作目录

网站文件默认存放目录(已有 index 和 50x 页面文件):/usr/share/nginx/html

网站默认站点配置:/etc/nginx/conf.d/default.conf

自定义Nginx站点配置文件目录:/etc/nginx/conf.d

Nginx全局设置:/etc/nginx/nginx.conf

二、从源代码安装
Tip:这种安装方式相对蛋疼,官网文档可能认为用这个的都是大神,全写配置项介绍了,新手看着难受故不推荐(除非遇到无法下载安装包的情况)。本节安装环境为 Centos6.7.
Step1. 下载安装

下载:

本地电脑进入官网下载区下载 nginx 源码包(Centos可用源码文件名称格式为nginx-1.x.x.tar.gz)

将源码包上传到服务器,scp 【本机路径/nginx-1.x.x.tar.gz】 【服务器用户名@服务器 IP】:【目标路径(例如:用户文件夹/nodreame)】

解压文件(目录随便):tar -zxvf nginx-1.x.x.tar.gz

编译安装:

进入解压后 nginx 文件目录下(例如:cd /nodreame/nginx-1.x.x.tar.gz)

运行命令配置编译结果路径:./configure --prefix=/usr/share/nginx

这个阶段记得看看打印出来的 Configuration summary,注意需要安装哪些库

安装 C语言编译环境:yum -y install make gcc gcc-c++ ncurses-devel

通用安装命令:yum -y install zlib zlib-devel openssl openssl--devel pcre pcre-devel

完成之后再次运行配置命令以检测

Tip:熟练者请根据需要参考官网文档进行配置,这里的配置仅供初学者快速上手

编译(路径不变):make

安装(路径不变):make install

Step2. 启动测试

由于没有配置全局索引,所以每次操作进入/usr/share/nginx/sbin目录(该路径根据编译安装时配置目录不同而变化),执行 ./nginx 命令以启动 Nginx,使用 ps -ef | grep nginx查看启动情况,有两行或两行以上回显即成功;

Step3. Nginx操作 A. Centos6.x版本
每次都进入目录操作 Nginx 太过于复杂,可以使用脚本来优化对 Nginx的控制

进入/etc/init.d目录,并获取官方提供的nginx脚本文件到该目录

方式一:到 https://www.nginx.com/resourc... 复制代码,然后黏贴到当前目录下的 nginx 文件(需要自己创建)中;

方式二:在当前目录直接 wget http://www.centos.bz/wp-content/uploads/2011/07/nginx 获取文件;

修改nginx脚本文件

格式处理:由于可能nginx脚本文件的文件格式可能为[dos]或者[mac],导致发生"env: /etc/init.c/nginx: No such file or directory"错误,所以对nginx脚本文件进行格式设置处理,操作如下所示:

vi nginx
:set fileformat=unix
:wq

文件提权:nginx脚本文件当前权限无法运行,故对其进行提权chmod 0777 nginx

配置修改:由于现在是"从源代码安装 Nginx"的环节,每个人对自己电脑的 Nginx 配置位置存在差异,所以这里需要修改 nginx脚本文件 两个地方:

nginx="" 这个位置:需要替换成自己的 Nginx 可执行文件路径,也就是【"编译安装"阶段的配置路径】+ /sbin/nginx,我的路径是 /usr/share/nginx/sbin/nginx

NGINX_CONF_FILE=""这个位置:需要替换成自己的 Nginx 配置文件路径,也就是【"编译安装"阶段的配置路径】+ /conf/nginx.conf,我的路径是 /usr/share/nginx/conf/nginx.conf

加入系统管理:

chkconfig --add /etc/init.d/nginx
chkconfig nginx on

基础控制命令:

service nginx start

service nginx stop

service nginx restart

service nginx reload

service nginx configtest # 修改配置之后进行检测是否存在语法错误

B. Centos7.x 版本

启动:/usr/share/nginx/sbin/nginx

停止:/usr/share/nginx/sbin/nginx -s stop

重载:/usr/share/nginx/sbin/nginx -s reload

测试:/usr/share/nginx/sbin/nginx -t

强制关闭:pkill nginx

三、Nginx 可访问测试 1. 运行测试:

使用 ps -ef|grep nginx 命令检查 nginx 运行情况,有两行或两行以上回显即成功。 如果发现运行只有一行回显,可能是当前端口被占用,使用ps -ef | grep【Nginx端口号,默认80】,如果打印结果为两行或以上,即端口被占用,需要修改nginx配置文件的端口号再重新运行。

1) 端口号占用测试 ps -ef | grep 【端口号】

2) 当你参照一. 使用安装包配置安装时,运行vim /etc/nginx/conf.d/default.conf, 将listen后面的数字替换为你测试过未被占用的端口号;

3) 当你参照二、从源代码安装安装时,运行vim /usr/share/nginx/conf/nginx.conf, 将listen后面的数字替换为你测试过未被占用的端口号;

4) 保存并测试脚本是否有误,确认无误之后重载Nginx;

5) 再次使用 ps -ef|grep nginx 命令检查 nginx 运行情况;

2. Centos本机访问测试

在命令行运行 curl http://localhost:Nginx端口号(默认80),如果能够看到简单的 html 信息则为 Nginx 配置成功;

3. 远程访问测试

在浏览器地址栏输入 http://【Centos服务器 IP 地址】:Nginx端口号(默认80),看到 Welcome to nginx!即网站访问通道已打通;如果访问失败请先确定 运行测试Centos本机访问测试 已通过,完成之后咨询网络管理员端口限制情况方便定位问题;

That"s all & Thx~

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/40405.html

相关文章

  • CentOS 7 安装 LNMP 环境(PHP7 + MySQL5.7 + Nginx1.10

    摘要:如果显示,则需要调整防火墙规则的配置。设置开机启动设置开机启动启动四测试在文件下创建文件,输出信息浏览器访问内网地址,如果看到信息,说明安装成功 工具 VMware版本号 : 12.0.0 CentOS版本 : 7.0 一、修改 yum 源 [root@localhost ~]# rpm -Uvh https://dl.fedoraproject.org/pub/epel/ep...

    XGBCCC 评论0 收藏0
  • CentOS 三种 PHP 拓展安装方法

    摘要:下,有多种方式来安装拓展,主要有包管理式的安装安装,以及源码编译安装。而线上部署环境则推荐编译安装,方便调优。本文以扩展安装举例。建议版本为建议使用扩展版本为建议使用扩展可以使用扩展。 CentOS 下,PHP有多种方式来安装拓展, 主要有 包管理式的 yum 安装、pecl 安装, 以及源码编译安装。包管理式的安装卸载尤为方便,而源码编译式的安装则方便参数调优。一般搭建本机开发环境推...

    JiaXinYi 评论0 收藏0

发表评论

0条评论

Rindia

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<