CentOS7 安装Nginx

nginx官方文档介绍的安装方法:http://nginx.org/en/docs/install.html

本文介绍两种:

  • 软件包安装
  • 源码安装

1、软件包安装

官方:http://nginx.org/en/linux_packages.html

CentOS/RedHat版本支持

其他的Linux系统参考官方文档。

1.1、设置nginx存储库

前提yam正常 + 网络通畅,看自身情况是否使用sudo命令

yum-utils软件包(提供yum-config-manager 功能)

yum install yum-utils

新建/etc/yum.repos.d/nginx.repo,编写nginx存储库配置,具体内容如下:

[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
module_hotfixes=true

[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
module_hotfixes=true

1.2、执行安装

yum install nginx

官方的yum配置,速度可能不太理想,至少我安装的时候是这样(是时候展示真正的技术了)。

1.3、启动测试

#启动
systemctl start nginx
#加入开机启动
systemctl enable nginx

浏览器输入localhost,效果如下,安装成功。

如果其他机器访问不到,检测一下是不是防火墙的问题。

简单粗暴的解决办法,关闭防火墙

CentOS 7使用firewall,执行以下命令,其他linux系统,请百度。

更详细的firewall操作请百度。

systemctl stop firewalld

1.4、路径说明

  • /etc/nginx:nginx.conf所在目录
  • /usr/share/nginx:html文件夹所在目录
  • /usr/sbin/nginx:nginx命令文件
  • /var/log/nginx:nginx日志目录

2、源码安装

2.1、下载源码文件

官网获取源码文件下载链接:http://nginx.org/en/download.html

#下载
wget http://nginx.org/download/nginx-1.18.0.tar.gz
#解压
tar -zxvf nginx-1.18.0.tar.gz

2.2、安装依赖

直接使用yum安装一下依赖

yum install -y pcre-devel zlib-devel openssl-devel

源码编译需要依赖gcc编译器,编译提示错误的话,安装gcc编译器

yum install gcc

2.3、编译前配置

cd nginx-1.18.0
./configure --prefix=/opt/nginx --with-http_ssl_module

#出现 -bash: ./configure: Permission denied错误
bash ./configure --prefix=/opt/nginx --with-http_ssl_module

配置说明:

  • --prefix:安装目录,默认是/usr/local/nginx。
  • --with-http_ssl_module:允许构建一个模块,将HTTPS协议支持添加到HTTP服务器。这个模块不是默认构建的。构建和运行这个模块需要OpenSSL库。

更多配置说明请参考官方文档:http://nginx.org/en/docs/configure.html

 

2.4、编译安装

make && make install

如果无意外,等待编译安装完成即可。

 

2.5、启动测试

执行安装目录下的sbin目录的nginx命令文件,启动nginx

/opt/nginx/sbin/nginx

2.6、添加环境变量

  • 方式一:软连接到PATH所包含的目录下
#查看环境变量PATH的值,输出如下
echo $PATH
#输出:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/opt/jdk1.8.0_201/bin:/root/bin
#链接,例如
ln -s /opt/nginx/sbin/nginx /usr/local/sbin
  • 方式二:PATH环境变量中添加nginx命令所处路径

配置用户级别或者系统级别,本文配置的是系统级别的环境变量。

vim /etc/profile
#插入内容:export PATH=$PATH:/opt/nginx/sbin
#使环境变量设置立即生效
source /etc/profile

 

2.7、创建nginx系统服务

CentOS服务所在路径:/usr/lib/systemd/system/,软件包安装的nginx.service会在该路径下。

我们现在在/etc/rc.d/init.d/目录下创建nginx文件。

内容如下,(如果编译安装目录,请修改)

#!/bin/bash
#
# chkconfig: - 85 15
# description: Nginx is a World Wide Web server.
# processname: nginx

nginx=/opt/nginx/sbin/nginx
conf=/opt/nginx/conf/nginx.conf
case $1 in
start)
echo -n "Starting Nginx"
$nginx -c $conf
echo " done"
;;
stop)
echo -n "Stopping Nginx"
killall -9 nginx
echo " done"
;;
test)
$nginx -t -c $conf
;;
reload)
echo -n "Reloading Nginx"
ps auxww | grep nginx | grep master | awk '{print $2}' | xargs kill -HUP
echo " done"
;;
restart)
$0 stop
$0 start
;;
show)
ps -aux|grep nginx
;;
*)
echo -n "Usage: $0 {start|restart|reload|stop|test|show}"
;;
esac

再给定权限

chmod 755 nginx

将文件添加到系统服务

#添加到系统服务
chkconfig --add nginx
#检查是否添加成功
chkconfig --list nginx

启动测试

systemctl start nginx

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值