Linux环境下 Nginx 安装
Nginx安装
本文介绍Linux环境下安装 Nginx ,在安装之前可以查询一下是否安装过。
可以使用以下两种方式
- whereis nginx
- find / -name nginx
1.下载nginx安装包
官网下载 ->传送门
wget命令服务器直接下载
cd /usr/local
wget -c https://nginx.org/download/nginx-1.16.0.tar.gz
2.安装编译环境及库文件
2.1. 安装gcc
说明:编译依赖 gcc 环境
yum install gcc-c++
2.2. 安装PCRE pcre-devel
说明:pcre-devel 是一个正则表达式库
这里使用 yum安装的方式
yum install -y pcre pcre-devel
2.3.安装zlib
说明:提供压缩算法,zlib为Nginx提供数据压缩用的函式库。
yum install -y zlib zlib-devel
2.4.安装Open SSL
说明:nginx 支持 http与 https协议,在ssl 协议上传输 http,如果使用 https,需安装 OpenSSL 库
yum install -y openssl openssl-devel
3.解压安装包
#切换到下载目录
cd /usr/local
#解压第一步下载的压缩包
tar -zxvf nginx-1.16.0.tar.gz
#切换到文件下
cd nginx-1.16.0
文件夹解压后
4.配置与安装
注:切换到 nginx-1.16.0目录下
configure为配置,一般默认即可
./configure
编译
make
注:在以上编译若出现问题,请检查前几步,编译环境与库文件是否已经安装成功
编译成功-执行安装
make install
安装完成会发现在 /usr/local下多了一个nginx目录,接下来,启动nginx。
5.环境变量配置
注:经测试,不配置也可以使用,建议配置一下
vim /etc/profile
编辑/etc/profile 增加如下内容:
# 安装路径
export NGINX_HOME=/usr/local/nginx
export PATH=$PATH:$NGINX_HOME/sbin
#更改环境变量后生效
source /etc/profile
6.启动与关闭
进入/usr/local/nginx/sbin目录,输入./nginx即可启动nginx
cd /usr/local/nginx/sbin
./nginx
关闭nginx
./nginx -s quit 或者 ./nginx -s stop
重启nginx
./nginx -s reload
查看nginx进程
ps -ef|grep nginx 或者 ps aux|grep nginx
查看版本
nginx -v
由于nginx默认监听端口就是80,所以在浏览器上输入ip地址,即可访问nginx,如:http://ip,进行访问
7.设置开机自启
nginx官方提供了启动脚本:传送门
7.1配置步骤
在/etc/init.d下创建文件nginx
vim /etc/init.d/nginx
7.2添加脚本内容
内容就是官方起启动脚本(/etc/init.d/nginx),如下:
#!/bin/sh
#
# nginx - this script starts and stops the nginx daemon
#
# chkconfig: - 85 15
# description: NGINX is an HTTP(S) server, HTTP(S) reverse \
# proxy and IMAP/POP3 proxy server
# processname: nginx
# config: /etc/nginx/nginx.conf
# config: /etc/sysconfig/nginx
# pidfile: /var/run/nginx.pid
pidfile="/usr/local/nginx/logs/nginx.pid"
# Source function library.
. /etc/rc.d/init.d/functions
# Source networking configuration.
. /etc/sysconfig/network
# Check that networking is up.
[ "$NETWORKING" = "no" ] && exit 0
nginx="/usr/local/nginx/sbin/nginx"
prog=$(basename $nginx)
NGINX_CONF_FILE="/usr/local/nginx/conf/nginx.conf"
[ -f /etc/sysconfig/nginx ] && . /etc/sysconfig/nginx
lockfile=/var/lock/subsys/nginx
make_dirs() {
# make required directories
user=`$nginx -V 2>&1 | grep "configure arguments:.*--user=" | sed 's/[^*]*--user=\([^ ]*\).*/\1/g' -`
if [ -n "$user" ]; then
if [ -z "`grep $user /etc/passwd`" ]; then
useradd -M -s /bin/nologin $user
fi
options=`$nginx -V 2>&1 | grep 'configure arguments:'`
for opt in $options; do
if [ `echo $opt | grep '.*-temp-path'` ]; then
value=`echo $opt | cut -d "=" -f 2`
if [ ! -d "$value" ]; then
# echo "creating" $value
mkdir -p $value && chown -R $user $value
fi
fi
done
fi
}
start() {
[ -x $nginx ] || exit 5
[ -f $NGINX_CONF_FILE ] || exit 6
make_dirs
echo -n $"Starting $prog: "
daemon $nginx -c $NGINX_CONF_FILE
retval=$?
echo
[ $retval -eq 0 ] && touch $lockfile
return $retval
}
stop() {
echo -n $"Stopping $prog: "
killproc $prog -QUIT
retval=$?
echo
[ $retval -eq 0 ] && rm -f $lockfile
return $retval
}
restart() {
configtest || return $?
stop
sleep 1
start
}
reload() {
configtest || return $?
echo -n $"Reloading $prog: "
killproc $nginx -HUP
RETVAL=$?
echo
}
force_reload() {
restart
}
configtest() {
$nginx -t -c $NGINX_CONF_FILE
}
rh_status() {
status $prog
}
rh_status_q() {
rh_status >/dev/null 2>&1
}
case "$1" in
start)
rh_status_q && exit 0
$1
;;
stop)
rh_status_q || exit 0
$1
;;
restart|configtest)
$1
;;
reload)
rh_status_q || exit 7
$1
;;
force-reload)
force_reload
;;
status)
rh_status
;;
condrestart|try-restart)
rh_status_q || exit 0
;;
*)
echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload|configtest}"
exit 2
esac
7.3修改脚本内容
7.3.1脚本中12行,pid文件位置,可以在nginx运行时查看,命令:find / -name nginx.pid
pidfile="/usr/local/nginx/logs/nginx.pid"
若不存在可自行创建 示例: touch /usr/local/nginx/logs/nginx.pid
7.3.2在脚本中22行(nginx="/usr/sbin/nginx")修改nginx脚本文件位置
nginx="/usr/local/nginx/sbin/nginx"
7.3.3在脚本中25行(NGINX_CONF_FILE="/etc/nginx/nginx.conf")修改nginx配置文件位置
NGINX_CONF_FILE="/usr/local/nginx/conf/nginx.conf"
7.4脚本可执行权限
服务启动:service nginx start
服务停止:service nginx stop
服务重新加载:service nginx restart
7.5添加开机启动项
添加开机启动项:chkconfig --add /etc/init.d/nginx
查看启动项:chkconfig --list
设置nginx启动:chkconfig nginx on
关闭命令为:chkconfig nginx off
删除命令为:chkconfig --del nginx
7.6重启验证
8.其它
安装之后开启 Nginx,如果系统开启了防火墙,那么需要设置一下在防火墙中加入需要开放的端口,常用的防火墙操作
systemctl start firewalld # 开启防火墙
systemctl stop firewalld # 关闭防火墙
systemctl status firewalld # 查看防火墙开启状态,显示running则是正在运行
firewall-cmd --reload # 重启防火墙,永久打开端口需要reload一下
# 添加开启端口,--permanent表示永久打开,不加是临时打开重启之后失效
firewall-cmd --permanent --zone=public --add-port=8888/tcp
# 查看防火墙,添加的端口也可以看到
firewall-cmd --list-all
更多推荐
所有评论(0)