云计算百科
云计算领域专业知识百科平台

服务器CentOS7安装Nginx

一、准备工作:

        1、本地模拟生产环境,打开服务器

        2、连接上服务器

        注意使用具备管理权限的账号登录(root或者已授权的user)

        3、下载nginx并上传到服务器中

        nginx官网

        具体方式详见:服务器CentOs7获取文件的方式

二、安装步骤:

        准备工作完成后,可看到安装包(具体路径根据个人自定义)

#解压
tar -zxvf nginx-1.26.3.tar.gz

#初始化配置
cd nginx-1.26.3
./configure

# –prefix是指定安装目录
./configure –prefix=/usr/local/nginx

********************************************解决报错的过程********************************************

错误信息主要分两种:

        1、没有编译器

        2、nginx安装缺少相关的依赖包,各种的not found

解决:

#安装编译器,解决报错“./configure: error: C compiler cc is not found”
yum -y install gcc gcc-c++ autoconf automake make

        完成编译器及相关依赖安装!

#安装nginx所需要的依赖包
yum install -y gcc-c++ zlib zlib-devel openssl openssl-devel pcre pcre-devel

        完成依赖安装!

********************************************解决报错的过程********************************************

解决报错最终的目的是要成功地完成初始化配置!!!

        解决报错后,再次执行初始化配置

#编译和安装nginx
make & make install

#查看是否安装成功,出现目录表示安装成功!
whereis nginx

#启动nginx
cd /usr/local/nginx/sbin
./nginx

#查看是否启动成功 或 浏览器查看:ip+port
ps -ef | grep nginx

以上说明启动成功,但浏览器访问可能无法访问成功,原因是:服务器开启了防火墙,且未放行80端口(nginx默认端口号为80)!!!

********************************************解决防火墙的问题********************************************

1、检查是否开启了防火墙限制
#查看已放行的端口
firewall-cmd –list-all
2、将防火墙关闭(不建议) 或 将端口加入到防火墙白名单中
#将80端口加入到防火墙白名单中
firewall-cmd –add-port=80/tcp –permanent
3、重启防火墙
#重载防火墙
firewall-cmd –reload

********************************************解决防火墙的问题********************************************

再访问:http://192.168.81.129:80 ,如下图说明启动成功!

        至此,nginx安装完毕!

三、延伸

        1、nginx其它相关命令

#关闭nginx
./nginx -s stop

#重启nginx
./nginx -s reload

#杀掉nginx
./nginx -s quit

        但实际工作中最常用到的一般就2个:

#修改nginx配置
vim /usr/local/nginx/conf/nginx.conf

#重启nginx
/usr/local/nginx/sbin/nginx -s reload

        2、使用系统命令操作nginx

        上面的命令看着还是有点复杂:需要记住nginx安装目录、进入目录、执行命令等等,有没有更简便的命令?

        当然有,那就是配置系统命令来操作nginx,本文centos7系统可使用systemctl 。

        那可以直接使用吗?不能,需要配置系统命令,不然会报错。

        (具体配置见后文【配置系统命令】)

        3、配置nginx开机自启动

        上面还是需要手动去启动,还是有点不方便,那么就可以配置成开机自启动,而这也是实际运维中采用的方式。

#设置开机自启
systemctl enable nginx

四、配置系统命令

        1、创建并编辑nginx.service文件

# 创建并编辑nginx.service
vim /etc/systemd/system/nginx.service

# 如果报报错,使用以下语句先安装 vim 工具
sudo yum install vim

# vim 工具使用小提示:
# 打开编辑文件:vim [文件名]
# 进入编辑状态: 按 i
# 退出编辑状态:按 ESC
# 保存并退出:输入 :wq 按 Enter

        2、nginx.service的内容如下:

[Unit]
Description=The NGINX HTTP and reverse proxy server
After=network.target remote-fs.target nss-lookup.target

[Service]
Type=forking
# 与nginx.conf中的pid保持一致,不然使用命令时会出现卡死而命令却已生效的现象
PIDFile=/usr/local/nginx/logs/nginx.pid
ExecStartPre=/usr/local/nginx/sbin/nginx -t
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/usr/local/nginx/sbin/nginx -s reload
ExecStop=/bin/kill -s QUIT $MAINPID
KillMode=process
Restart=on-failure
PrivateTmp=true

[Install]
WantedBy=multi-user.target

        注意:路径修改为实际的nginx安装路径!

        pid路径不一致时会卡住:

        3、上述文件完成编辑保存后,进行重载systemd

#重载 systemd 配置
sudo systemctl daemon-reload

        4、systemctl 命令

#启动nginx
systemctl start nginx

#重启nginx
systemctl restart nginx

#停止nginx
systemctl stop nginx

#查看nginx状态
systemctl status nginx

        5、验证

五、配置开机自启

        1、配置,重启

# 设置nginx开机自启
systemctl enable nginx

# 重启系统
reboot

        2、验证

六、命令总结

# 下载nginx安装包
wget -c http://nginx.org/download/nginx-1.26.3.tar.gz

# 解压
tar -zxvf nginx-1.26.3.tar.gz

# 初始化配置
./configure

# 或指定安装位置

# 执行配置脚本 –prefix是指定安装目录
./configure –prefix=/usr/local/nginx

##### 中间报错 #####
# 如果以下语句在初始化配置前执行,则将不会报错

# 安装nginx所需要的依赖包
yum install -y gcc-c++ zlib zlib-devel openssl openssl-devel pcre pcre-devel

# 解决报错“./configure: error: C compiler cc is not found”
yum -y install gcc gcc-c++ autoconf automake make

##### 中间报错 #####

# 解决报错后,再次执行初始化配置
./configure

# 编译和安装nginx
make & make install

# 查看是否安装成功,出现目录表示安装成功!
whereis nginx

# 启动nginx
cd /usr/local/nginx/sbin
./nginx
# 或
/usr/local/nginx/sbin/ngin

# 查看是否启动成功,浏览器查看:ip+port,http://192.168.81.129:80
ps -ef | grep nginx

# 关闭nginx
./nginx -s stop
# 或
/usr/local/nginx/sbin/nginx -s stop

# 重启nginx
./nginx -s reload
# 或
/usr/local/nginx/sbin/nginx -s reload

# 关闭/杀掉nginx
/usr/local/nginx/sbin/nginx -s quit

# 修改nginx配置
vim /usr/local/nginx/conf/nginx.conf

# 重启nginx
/usr/local/nginx/sbin/nginx -s reload

##### 解决访问报错 #####

# 浏览器访问不通?

# 1、检查是否开启了防火墙限制
#查看已放行的端口
firewall-cmd –list-all

# 2、将防火墙关闭(不建议) 或 将端口加入到防火墙白名单中
#将80端口加入到防火墙白名单中
firewall-cmd –add-port=80/tcp –permanent

# 3、重载防火墙
firewall-cmd –reload

##### 解决访问报错 #####

##### 配置系统命令 #####

# 1、创建nginx.service文件
vim /etc/systemd/system/nginx.service

# 2、按【i】进入编辑状态,编辑nginx.service内容,内容如下
[Unit]
Description=The NGINX HTTP and reverse proxy server
After=network.target remote-fs.target nss-lookup.target

[Service]
Type=forking
#nginx.conf中的pid保持一致,不然使用命令时会出现卡死而命令却已生效的现象
PIDFile=/usr/local/nginx/logs/nginx.pid
ExecStartPre=/usr/local/nginx/sbin/nginx -t
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/usr/local/nginx/sbin/nginx -s reload
ExecStop=/bin/kill -s QUIT $MAINPID
KillMode=process
Restart=on-failure
PrivateTmp=true

[Install]
WantedBy=multi-user.target

# 3、保存并退出
:wq

# 4、重载 systemd 配置
sudo systemctl daemon-reload

##### 配置系统命令 #####

##### 使用系统命令操作nginx #####

# 启动nginx
systemctl start nginx

# 重启nginx
systemctl restart nginx

# 停止nginx
systemctl stop nginx

# 查看nginx状态
systemctl status nginx

# 设置开机自启
systemctl enable nginx

# 重启系统
reboot

##### 使用系统命令操作nginx #####

赞(0)
未经允许不得转载:网硕互联帮助中心 » 服务器CentOS7安装Nginx
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!