安装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