在linux下安装nginx,首先需要安装 gcc-c++编译器。然后安装nginx依赖的pcre和zlib包。最后安装nginx。
1.先安装gcc-c++编译器
yum install -y gcc-c++
yum install -y openssl openssl-devel
2.再安装pcre包
yum install -y pcre pcre-devel
3.再安装zlib包
yum install -y zlib zlib-devel
下面进行nginx的安装
1.在/usr/local/下创建文件nginx文件
mkdir /usr/local/nginx
2.在网上下nginx包上传至Linux(http://nginx.org/en/download.html)直接下载
wget http://nginx.org/download/nginx-1.20.1.tar.gz
3.解压并进入nginx目录
tar -zxvf nginx-1.20.1.tar.gz
cd nginx-1.20.1
4.使用nginx默认配置
./configure
5.编译安装
make
make install
6.查找安装路径
whereis nginx
7.进入sbin目录,可以看到有一个可执行文件nginx,直接./nginx执行就OK了。
./nginx
9.查看是否启动成功
ps -ef | grep nginx
10.外网访问(开放防火墙端口)
#查看防火墙是否开启
systemctl status firewalld
#启动防火墙后,默认没有开启任何端口,需要手动开启端口。nginx默认是80端口
#手动开启端口命令
firewall-cmd --zone=public --add-port=80/tcp --permanent
命令含义: --zone #作用域
--add-port=80/tcp #添加端口,格式为:端口/通讯协议
--permanent #永久生效,没有此参数重启后失效
#重启防火墙
firewall-cmd --reload
#查看防火墙是否开启了80端口的访问
firewall-cmd --list-all
11.设置开机启动
1.首先在 /etc/init.d/目录下创建nginx文件
vim /etc/init.d/nginx
2.在文件中添加以下脚本
#! /bin/bash
# chkconfig: - 85 15
PATH=/usr/local/nginx
DESC="nginx daemon"
NAME=nginx
DAEMON=$PATH/sbin/$NAME
CONFIGFILE=$PATH/conf/$NAME.conf
PIDFILE=$PATH/logs/$NAME.pid
SCRIPTNAME=/etc/init.d/$NAME
set -e
[ -x "$DAEMON" ] || exit 0
do_start() {
$DAEMON -c $CONFIGFILE || echo -n "nginx already running"
}
do_stop() {
$DAEMON -s stop || echo -n "nginx not running"
}
do_reload() {
$DAEMON -s reload || echo -n "nginx can't reload"
}
case "$1" in
start)
echo -n "Starting $DESC: $NAME"
do_start
echo "."
;;
stop)
echo -n "Stopping $DESC: $NAME"
do_stop
echo "."
;;
reload|graceful)
echo -n "Reloading $DESC configuration..."
do_reload
echo "."
;;
restart)
echo -n "Restarting $DESC: $NAME"
do_stop
do_start
echo "."
;;
*)
echo "Usage: $SCRIPTNAME {start|stop|reload|restart}" >&2
exit 3
;;
esac
exit 0
3.注意修改上述两项配置项
DAEMON 修改成nginx执行程序的路径。
CONFIGFILE 修改成配置文件的路径。
4.保存文件后设置文件执行权限(设置所有用户都有执行权限)
chmod a+x /etc/init.d/nginx
5.下面就可以通过脚本对nginx服务进行管理了
/etc/init.d/nginx start
/etc/init.d/nginx stop
利用chkconfig进行管理,并设置开机启动
1.把nginx服务加入chkconfig管理列表
chkconfig --add /etc/init.d/nginx
2.启动和停止服务
service nginx start
service nginx stop
3.添加到系统开机启动
chkconfig nginx on
补充另外一种systemd开机启动
#创建服务文件
vim /usr/lib/systemd/system/nginx.service
#写入systemd脚本
[Unit]
Description=nginx service
After=network.target
##服务运行参数
[Service]
##服务后台运行
Type=forking
##服务启动
ExecStart=/usr/local/nginx/sbin/nginx
## 重启
ExecReload=/usr/local/nginx/sbin/nginx -s reload
## 停止
ExecStop=/usr/local/nginx/sbin/nginx -s stop
## 分配独立空间
PrivateTmp=true
## 安装,设置多用户
[Install]
##多用户
WantedBy=multi-user.target
#加入开机启动
systemctl enable nginx.service
#服务相关命令
# systemctl start nginx.service 启动nginx服务
# systemctl stop nginx.service 停止服务
# systemctl restart nginx.service 重新启动服务
# systemctl list-units --type=service 查看所有已启动的服务
# systemctl status nginx.service 查看服务当前状态
# systemctl enable nginx.service 设置开机自启动
# systemctl disable nginx.service 停止开机自启动
为每个站点配置独立配置文件
#进入到nginx 配置文件中
cd /user/local/nginx/config
#打开默认的配置文件
sudo vim nginx.conf
# http{}中添加一下代码,如conf.d文件夹不存在则需要创建
include /usr/local/nginx/conf.d
#保存退出
#然后每个服务在conf.d 中添加.conf文件,配置相关信息即可