Linux 的安装方式有两种,可以是yum安装,也可以是源码安装。
- yum安装:简单方便,不易出错。
- 源码安装:繁琐,易出错,但服务性能好。
yum安装
1.安装nginx
1.1yum 安装nginx非常简单,就输入一条命令即可。
sudo yum -y install nginx # 安装 nginx sudo yum remove nginx # 卸载 nginx
1.2安装完后,先不要急着操作,此时的nginx服务还没有启动,
1.3启动nginx服务
命令:sudo service nginx start
1.5设置开始启动
命令:sudo systemctl enable nginx
使用yum进行Nginx安装时,Nginx配置文件在/etc/nginx
目录下。
2.nginx 相关服务配置命令
sudo systemctl enable nginx # 设置开机启动 sudo service nginx start # 启动nginx服务 sudo service nginx stop # 停止nginx服务 sudo service nginx restart # 重启nginx服务 sudo service nginx reload # 重新加载配置,一般是在修改过nginx配置文件时使用。 systemctl status nginx.service #查看nginx的状态及进程与端口 netstat -antp | grep :80 #查看80端口被哪个服务占用 netstat -antp | grep : #查看所有端口占用情况 ps aux | grep nginx #查看nginx进程运行状态 nginx -V #查看nginx版本
源码包安装(推荐)
Nginx源码包安装方式步骤比较繁琐,并且需要提前安装一些Nginx依赖库。
一、依赖库安装
1. 安装 gcc 环境(阿里云新买的服务器一般都预安装了gcc,此步可以跳过)
sudo yum -y install gcc gcc-c++ # nginx编译时依赖gcc环境
2. 安装 pcre
sudo yum -y install pcre pcre-devel # 让nginx支持重写功能
3.安装 zlib
# zlib库提供了很多压缩和解压缩的方式,nginx使用zlib对http包内容进行gzip压缩 sudo yum -y install zlib zlib-devel
4. 安装 openssl
# 安全套接字层密码库,用于通信加密 sudo yum -y install openssl openssl-devel
以上安装完成后,进行nginx安装。
二、nginx 源码包安装
将准备好的 nginx-1.17.8.tar.gz
包,拷贝至/usr/local/nginx
目录下(一般习惯在此目录下进行安装,新买服务器没有此目录,要自行创建)进行解压缩。
源码包下载地址:https://nginx.org/en/download.html ,请根据自己的需求选择相应的版本进行安装
1. 创建/usr/local/nginx目录,进入/usr/local/nginx目录wget安装包(不想用ftp上传,直接在服务器wget获取安装包)
#创建 /usr/local/nginx 目录 mkdir /usr/local/nginx #获取nginx包 wget https://nginx.org/download/nginx-1.17.8.tar.gz
2. 解压
tar -zxvf nginx-1.17.8.tar.gz
3. 在完成解压缩后,进入nginx-1.17.8目录进行源码编译安装。
cd nginx-1.17.8 ./configure --prefix=/usr/local/nginx # 检查平台安装环境 #--prefix=/usr/local/nginx 是nginx编译安装的目录(推荐),安装完后会在此目录下生成相关文件
如果前面的依赖库都安装成功后,执行./configure --prefix=/usr/local/nginx
命令会显示一些环境信息。如果出现错误,一般是依赖库没有安装完成,可按照错误提示信息进行所缺的依赖库安装。
4. 进行源码编译并安装nginx
make # 编译
make install # 安装
5. 源码包安装与yum安装的nginx服务操作命令也不同。
- 启动服务
/usr/local/nginx/sbin/nginx
- 重新加载服务
/usr/local/nginx/sbin/nginx -s reload
- 停止服务
/usr/local/nginx/sbin/nginx -s stop
- 查看nginx服务进程
ps -ef | grep nginx # 查看服务进程
6. 访问
三、配置nginx开机自启
1.先找出nginx配置文件路径和nginx路径(后面会用到)
查找nginx配置文件路径 find / -name nginx.conf(两个路径都可以,本人使用第一个)
在nginx安装目录/user/local/nginx查找nginx路径 find /usr/local/nginx/ -name nginx(使用包含sbin目录路径)
2.编辑 vim /etc/init.d/nginx 添加一下内容 【使用Notepad++编辑并转换成Unix格式再上传,不然文件无法生效,本人在此踩过坑,Notepad++依次点击 编辑/文档格式转换/转为 Unix(LF)】
根据路径修改nginx安装地址、nginx配置文件路径两处,上面第一步已查出路径。
1 #!/bin/sh 2 # nginx - this script starts and stops the nginx daemon 3 # 4 # chkconfig: - 85 15 5 # description: NGINX is an HTTP(S) server, HTTP(S) reverse \ 6 # proxy and IMAP/POP3 proxy server 7 # processname: nginx 8 # config: /usr/local/nginx/nginx-1.17.8/conf/nginx.conf 9 # config: /etc/sysconfig/nginx 10 # pidfile: /usr/local/tools/nginx/nginx-1.14.2/logs/nginx.pid 11 12 # Source function library. 13 . /etc/rc.d/init.d/functions 14 15 # Source networking configuration. 16 . /etc/sysconfig/network 17 18 # Check that networking is up. 19 [ "$NETWORKING" = "no" ] && exit 0 20 21 #nginx安装地址(根据自己安装路径填写) 22 nginx="/usr/local/nginx/sbin/nginx" 23 prog=$(basename $nginx) 24 25 #nginx配置文件路径(根据自己安装路径填写) 26 NGINX_CONF_FILE="/usr/local/nginx/conf/nginx.conf" 27 28 [ -f /etc/sysconfig/nginx ] && . /etc/sysconfig/nginx 29 30 lockfile=/usr/local/tools/nginx/nginx-1.14.2/logs/lock/subsys/nginx 31 32 make_dirs() { 33 # make required directories 34 user=`$nginx -V 2>&1 | grep "configure arguments:.*--user=" | sed 's/[^*]*--user=\([^ ]*\).*/\1/g' -` 35 if [ -n "$user" ]; then 36 if [ -z "`grep $user /etc/passwd`" ]; then 37 useradd -M -s /bin/nologin $user 38 fi 39 options=`$nginx -V 2>&1 | grep 'configure arguments:'` 40 for opt in $options; do 41 if [ `echo $opt | grep '.*-temp-path'` ]; then 42 value=`echo $opt | cut -d "=" -f 2` 43 if [ ! -d "$value" ]; then 44 # echo "creating" $value 45 mkdir -p $value && chown -R $user $value 46 fi 47 fi 48 done 49 fi 50 } 51 52 start() { 53 [ -x $nginx ] || exit 5 54 [ -f $NGINX_CONF_FILE ] || exit 6 55 make_dirs 56 echo -n $"Starting $prog: " 57 daemon $nginx -c $NGINX_CONF_FILE 58 retval=$? 59 echo 60 [ $retval -eq 0 ] && touch $lockfile 61 return $retval 62 } 63 64 stop() { 65 echo -n $"Stopping $prog: " 66 killproc $prog -QUIT 67 retval=$? 68 echo 69 [ $retval -eq 0 ] && rm -f $lockfile 70 return $retval 71 } 72 73 restart() { 74 configtest || return $? 75 stop 76 sleep 1 77 start 78 } 79 80 reload() { 81 configtest || return $? 82 echo -n $"Reloading $prog: " 83 killproc $nginx -HUP 84 RETVAL=$? 85 echo 86 } 87 88 force_reload() { 89 restart 90 } 91 92 configtest() { 93 $nginx -t -c $NGINX_CONF_FILE 94 } 95 96 rh_status() { 97 status $prog 98 } 99 100 rh_status_q() { 101 rh_status >/dev/null 2>&1 102 } 103 104 case "$1" in 105 start) 106 rh_status_q && exit 0 107 $1 108 ;; 109 stop) 110 rh_status_q || exit 0 111 $1 112 ;; 113 restart|configtest) 114 $1 115 ;; 116 reload) 117 rh_status_q || exit 7 118 $1 119 ;; 120 force-reload) 121 force_reload 122 ;; 123 status) 124 rh_status 125 ;; 126 condrestart|try-restart) 127 rh_status_q || exit 0 128 ;; 129 *) 130 echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload|configtest}" 131 exit 2 132 esac
3. 添加可执行权限 chmod +x /etc/init.d/nginx
4.开启自启 chkconfig nginx on
重启服务:reboot,访问页面正常,nginx已自动启动
nginx安装:https://blog.csdn.net/sqlquan/article/details/101099850
nginx开机自启:https://www.cnblogs.com/fwqblogs/p/10131846.html