系统与软件信息
操作系统:CentOS 6.5 Minimal
Nginx Version:1.12.2
假定信息
系统用户名:team
系统用户密码:team
用户主目录:/usr/team
一. 创建team用户
使用root用户登录linux,使用useradd创建team用户
[root@localhost ~]# useradd -d /usr/team -m team
说明:
-d 指定用户主目录
-m 若主目录不存在,自动创建目录
-g 指定用户组,不写默认创建与用户名同名的用户组
使用su命令切换到team用户,给其设置密码
[root@localhost ~]# su - team
说明:
su只是切换了root身份,但Shell环境仍然是普通用户的Shell;而su -连用户和Shell环境一起切换成root身份了。
使用su命令切换到team用户,给其设置密码为team
[team@localhost ~]$ passwd team
使用team使用户创建packages目录,上传的安装包放置在该目录下
[team@localhost ~]$ mkdir packages
二. 获取Nginx安装包
访问 http://nginx.org/en/download.html
下载nginx-1.12.2,使用team用户上传安装包到 /usr/team/packages 目录下
使用tar命令解压nginx安装包
[team@localhost ~]$ tar -xzf nginx-1.12.2.tar.gz
三. 依赖库安装
Nginx的安装需要依赖于gcc、openssl-devel、pcre-devel和zlib-devel软件库,这些软件库的安装需要使用root用户
使用team用户进入nginx-1.12.2目录,执行
[team@localhost ~]$ ./configure --prefix=/usr/team/nginx-1.12.2
1. 如果报下面错误,说明还没有安装gcc编译环境,可以通过yum在线安装(需能连接网络)功能安装gcc,重新执行configure命令。
[root@localhost ~]# yum install gcc
安装完成后可通过gcc -v查看安装的gcc信息
2. 如果报下面的错误,说明没有安装pcre-devel库,通过yum在线安装pcre后,重新执行configure命令。
[root@localhost ~]# yum -y install pcre-devel
说明:
-y参数表示使用yum在线安装时,如果需要用户输入Y/N时自动输入Y。
3. 如果报下面的错误,说明没有安装zlib库,安装zlib库后重新执行configure命令。
[root@localhost ~]# yum -y install zlib-devel
四. 安装
为了方便管理和使用,我们在/usr/team目录下创建nginx-1.12.2目录,把编译好的nginx安装到此目录中。
[team@localhost ~]$ cd /usr/team/
[team@localhost ~]$ mkdir nginx-1.12.2
nginx源代码的编译需要使用configure脚本自动生成Makefile文件。进入安装包目录,执行configure指定nginx安装目录
[team@localhost ~]$ cd /usr/team/packages/nginx-1.12.2
[team@localhost nginx-1.12.2]$ ./configure --prefix=/usr/team/nginx-1.12.2
说明:
--prefix 指定nginx的安装路径
在当前/usr/team/packages/nginx-1.12.2目录下执行make编译和make install安装
[team@localhost nginx-1.12.2]$ make
[team@localhost nginx-1.12.2]$ make install
成功编译安装后,进入/usr/team/nginx-1.12.2/,可看到如下信息
说明:
conf目录中存放了nginx的所有配置文件
html目录中存放了nginx服务器在运行过程中调用的一些html网页文件
logs目录用于存放nginx服务器的日志
sbin目录存放nginx服务器的主程序
五. 启停控制
进入主程序目录
[team@localhost sbin]$ cd /usr/team/nginx-1.12.2/sbin
启动
[team@localhost sbin]$ ./nginx
若出现如下错误信息,原因:Linux只有root用户可以使用1024一下的端口。nginx默认使用80端口,可通过第六点配置章节查找端口修改方法,假定修改成8080
http://IP:端口进行页面访问来验证是否成功
出现访问不成功,看端口是否被防火墙屏蔽。若是可开放该端口或关闭防火墙,以下是关闭防火墙的命令
[root@team_kf ~]# service iptables stop
[root@team_kf ~]# chkconfig --level 345 iptables off
说明:
上述命令需通过root用户执行
停止
查看nginx进程,通过kil -9 关闭进程即可
[team@team_kf sbin]$ ps -ef| grep nginx
[team@team_kf sbin]$ kill -9 进程号
重启
[team@team_kf sbin]$ ./nginx -s reload
六. 配置
1. 修改监听端口
[team@localhost conf]$ cd /usr/team/nginx-1.12.2/conf
[team@localhost conf]$ vi nginx.conf
修改80端口为指定的端口