【学习笔记】Centos安装nginx的两种方式

安装nginx的两种方法:

一、使用yum直接安装(自动安装)

1.yum install nginx

2.启动服务systemctl start nginx.service

3.使用ps -aux | grep nginx查看是否安装成功

4.设置开机自启动systemctl enable nginx 关闭开机自动启动systemctl disable nginx

5.使用浏览器访问主机IP,测试页面。

其它:

配置文件存放目录:

1.whereis nginx 查找和nginx相关的文件

2.在/etc/nginx/文件夹下存放了nginx的配置信息文件,nginx.conf

3.在nginx.conf配置文件里,有两个配置很重要,

    ①listen 80 default_server  设置监听端口

    ②root  /usr/share/nginx/html  静态页面的存放路径

二、通过源码安装(手动安装)

1.从官网下载源代码(一般都是C语言的源代码)wget http://nginx.org/download/nginx-1.19.7.tar.gz

2.解压源代码,tar -zxvf nginx-1.19.7.tar.gz    进入到文件夹cd /解压目录

3.执行./configure --prefix=url 进行配置url为存放nginx文件的目录

./configure --prefix=/usr/local/nginx

    --prefix是用来指定安装路径,配置的目的是用来查看当前系统环境是否能够安装软件,在此过程中可能会出现错误提示

大多数的错误是因为缺少相关的依赖库或者编译器

需要安装相关依赖sudo yum install gcc-c++ pcre pcre-devel zlib-devel openssl openssl-devel

      依赖安装完成后再次执行./configure --prefix=/usr/local/nginx

  4.configure命令执行成功以后,会生成一个新的Makefile文件

5.运行sudo make && sudo make install 命令来编译并安装软件

6.启动nginx  cd /usr/local/nginx/sbin进入目录  执行nginx  使用./nginx 或systemctl start nginx.service

    如果出现80端口被占用的情况,使用语句sudo netstat -npltu | grep [port] 可以查询到指定端口的进程名以及进程ID,再使用kill [id] 可以关闭指定进程

7.nginx的其他命令

/usr/local/nginx/sbin/nginx -s reload            # 重新载入配置文件./nginx -s reload

/usr/local/nginx/sbin/nginx -s reopen            # 重启Nginx      ./nginx -s reopen

/usr/local/nginx/sbin/nginx -s stop              # 停止Nginx      ./nginx -s stop

三、卸载niginx

    1.查看已安装的nginx

    rpm -qa|grep nginx  或者yum list installed |grep nginx

    2.关闭nginx服务

自动方式安装的使用systemctl stop nginx.service

      手动方式安装的使用./nginx -s stop

    2.删除安装包

yum -y remove nginx

备注:出现的异常及解决方案(手动安装的情况):

Q1: systemctl start nginx.service启动nginx出现Failed to start nginx.service: Unit nginx.service not found.

A1: 

1.在/etc/init.d/目录下新建文件,文件名为nginx

    vim /etc/init.d/nginx

 2.插入以下代码片段

#!/bin/sh

# nginx - this script starts and stops the nginx daemin

# chkconfig:  - 85 15

# description:  Nginx is an HTTP(S) server, HTTP(S) reverse \

#              proxy and IMAP/POP3 proxy server

# processname: nginx

# config:      /usr/local/nginx/conf/nginx.conf

# 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"

lockfile=/var/lock/subsys/nginx

start() {

[ -x $nginx ] || exit 5

[ -f $NGINX_CONF_FILE ] || exit 6

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

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

3.保存退出并执行以下语句

cd /etc/init.d

chmod 755 /etc/init.d/nginx

chkconfig --add nginx

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。