- 安装准备
由于nginx的一些模块依赖一些lib库,所以在安装nginx之前,必须先安装这些lib库,这些依赖库主要有g++、gcc、openssl-devel、pcre-devel和zlib-devel 所以执行如下命令安装
yum install gcc-c++
yum install pcre pcre-devel
yum install zlib zlib-devel
yum install openssl openssl--devel
- 安装nginx
安装之前检查是否安装过
find -name nginx
如果安装过,先卸载
yum remove nginx
进入/usr/local目录
从官网下载最新版的nginx,后面的版本号可以去官网查询最新的,或者改成你要下载的版本号
wget http://nginx.org/download/nginx-1.14.1.tar.gz
解压
tar -zxvf nginx-1.14.1.tar.gz
解压完会产生一个nginx-1.14.1 目录,进入这个目录
接下来安装,使用–prefix参数指定nginx安装的目录,make、make install安装
./configure 默认安装在/usr/local/nginx
可以指定具体路径
./configure --prefix=/usr/local/nginx
如果需要使用https,还需要安装https模块
./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module
如果安装的时候报错./configure: error: SSL modules require the OpenSSL library,需要安装 OpenSSL library
yum -y install openssl openssl-devel
make
make install
如果没有报错,就说明安装成功
- 启动
由于默认nginx端口是80,启动之前先检查80端口是否被占用
netstat -lnp | grep 80
如果有,可以杀死对应的xxx进程, 比如
kill -s 9 xxx
如果端口没有占用,那么就启动
进入安装后目录(/usr/local/nginx/sbin)
./nginx
执行./nginx启动nginx,这里可以-c指定加载的nginx配置文件,如下
./nginx -c /usr/local/nginx/conf/nginx.conf
如果不指定-c,nginx在启动时默认加载conf/nginx.conf文件,此文件的地址也可以在编译安装nginx时指定./configure的参数(–conf-path= 指向配置文件(nginx.conf))
本地查看是否启动成功
curl 127.0.0.1
正常返回网页信息就ok
停止nginx
./nginx -s stop
完整停止(建议使用)
./nginx -s quit
重启及重新加载配置
先停止再启动(建议使用)
./nginx -s quit && ./nginx
重新加载配置文件
./nginx -s reload
提示:如果有人安装成功,外网不能访问,请检查防火墙以及服务器安全组端口是否开放
4.配置成服务并开机自动启动
在/lib/systemd/system/下创建nginx.service文件
vim /lib/systemd/system/nginx.service
内容如下
#服务描述性的配置
[Unit]
Description=nginx
Documentation=http://nginx.org/en/docs/
After=network.target
#服务关键配置
[Service]
Type=forking
#启动前检测 nginx配置文件 是否正确
ExecStartPre=/usr/local/nginx/sbin/nginx -t -c /usr/local/nginx/conf/nginx.conf
#启动
ExecStart=/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
#重启
ExecReload=/usr/local/nginx/sbin/nginx reload
#关闭
ExecStop=/usr/local/nginx/sbin/nginx quit
PrivateTmp=true
[Install]
WantedBy=multi-user.target
保存退出, 执行systemctl enable nginx.service使nginx开机启动
先将之前启动的nginx关掉
./nginx -s quit
在使用新的服务启动
systemctl start nginx 启动nginx
systemctl stop nginx 结束nginx
systemctl restart nginx 重启nginx