1、下载安装包
官网点击跳转
2、安装依赖
yum -y install pcre-devel openssl-devel
3、编译安装nginx
解压nginx安装包到/usr/local中,切换到nginx安装包目录。
编译安装:
./configure --prefix=/usr/local/nginx --with-http_ssl_module
make && make install
4、启动nginx
cd /usr/local/nginx/sbin
./nginx
5、检查nginx是否启动成功
ps aux | grep nginx
如图,可以看到nginx已经启动,前两个分别是nginx的主进程和工作进程,第三行是grep nginx命令。因为centos的防火墙默认阻止80端口的 访问,需要开放80端口:
iptables -I INPUT -p tcp --dport 80 -j ACCEPT
宿主机通过IP访问虚拟机的nginx,可以访问成功:
因为上面开放端口是临时的,一旦服务器重启,又访问不了80端口了,需要把这个规则写入到防火墙中。(因为个人对于防火墙这块不是很熟悉,只是为了学习nginx才加的内容,所以下面关于防火墙的代码不一定适用生产环境,)
#安装iptables
yum install -y iptables
yum update iptables
yum install iptables-services
#禁用默认的防火墙
systemctl stop firewalld
systemctl mask firewalld
#设置防火墙规则
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
service iptables save
systemctl restart iptables.service
6、停止nginx服务
无论当前nginx是否在处理工作,强制停止nginx服务
./nginx -s stop
当nginx完成当前工作后停止服务
./nginx -s quit
7、为了每次使用nginx指令的时候不用每次都切目录,可以配置环境变量
vi /etc/profile
在文件末尾添加
NGINX_HOME=/usr/local/nginx
export PATH=$PATH:$NGINX_HOME/sbin
更新环境变量
source profile
8、设置开机自启动
首先需要将nginx通过shell脚本写成一个服务/etc/init.d/nginx,内容为:
#! /bin/bash
DAEMON=/usr/local/nginx/sbin/nginx
case "$1" in
start)
echo "Starting nginx daemon..."
$DAEMON && echo "SUCCESS"
;;
stop)
echo "Stoping nginx daemon..."
$DAEMON -s quit && echo "SUCCESS"
;;
reload)
echo "Reloading nginx daemon..."
$DAEMON -s reload && echo "SUCCESS"
;;
restart)
echo "Restartin nginx daemon"
$DAEMON -s quit
$DAEMON && echo "SUCCESS"
;;
*)
echo "Usage: service nginx {start|stop|reload|restart}"
exit 2
;;
esac
保存后给予可执行权限:
chmod +x /etc/init.d/nginx
之后便可以通过指令service start nginx等操作nginx接着将nginx添加到开机自启服务中:
chkconfig --add nginx
如果上面的指令执行时报错:service nginx does not support chkconfig,可尝试在nginx的shell文件中,#! /bin/bash后面添加下面代码解决:
#gedit /etc/init.d/nginx
# chkconfig: 2345 10 90
# description: nginx service