1、下载安装包
官网点击跳转
centos安装nginx-LMLPHP

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

centos安装nginx-LMLPHP
如图,可以看到nginx已经启动,前两个分别是nginx的主进程和工作进程,第三行是grep nginx命令。因为centos的防火墙默认阻止80端口的 访问,需要开放80端口:

iptables -I INPUT -p tcp --dport 80 -j ACCEPT

宿主机通过IP访问虚拟机的nginx,可以访问成功:centos安装nginx-LMLPHP
因为上面开放端口是临时的,一旦服务器重启,又访问不了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
06-29 19:15