linux系统安装nginx及开机启动

1、下载nginx安装包

官网下载地址:http://nginx.org/en/download.html

2、安装依赖环境

2.1 安装gcc环境

yum install gcc-c++

2.2 安装PCRE库,用于解析正则表达式

yum install -y pcre pcre-devel

2.3 zlib压缩和解压缩依赖

yum install -y zlib zlib-devel

2.4 SSL 安全的加密的套接字协议层,用于HTTP安全传输,也就是https

yum install -y openssl openssl-devel

3、解压,需要注意,解压后得到的是源码,源码需要编译后才能安装

tar -zxvf nginx-1.21.6.tar.gz

4、编译之前,先创建nginx临时目录,如果不创建,在启动nginx的过程中会报错

mkdir /var/temp/nginx -p

5、在nginx目录,输入如下命令进行配置,目的是为了创建makefile文件

./configure --prefix=/usr/local/nginx --pid-path=/var/local/nginx/nginx.pid --lock-path=/var/local/nginx/nginx.lock --error-log-path=/var/local/nginx/error.log --http-log-path=/var/local/nginx/access.log --with-http_gzip_static_module --http-client-body-temp-path=/var/local/nginx/client --http-proxy-temp-path=/var/local/nginx/proxy --http-fastcgi-temp-path=/var/local/nginx/fastcgi --http-uwsgi-temp-path=/var/local/nginx/uwsgi --http-scgi-temp-path=/var/local/nginx/scgi

命令解释
-prefix指定Nginx安装目录
-pid-path指向Nginx的pid
-lock-path锁定安装文件,防止被恶意褚篡改或误操作
-error-log错误日志
–http-log-pathhttp日志
–with-http_gzip_static_module启用gzip模块,在线实时压缩输出数据流
–http-client-body-temp-path设定客户端请求的临时目录
–http-proxy-temp-path设定http代理临时目录
–http-fastcgi-temp-path设定fastcgi临时目录
–http-uwsgi-temp-path设定uwsgi临时目录
–http-scgi-temp-path设定scgi临时目录

6、make编译安装

make && make install

7、进入sbin目录启动Nginx

启动:./nginx
停止:./nginx -s stop
重新加载:./nginx -s reload
检查配置文件语法是否正确:./nginx -t

8、开机启动配置

vi /usr/lib/systemd/system/nginx.service

[Unit]
Description=nginx
After=syslog.target
After=network.target

[Service]
Type=forking
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/usr/local/nginx/sbin/nginx -s reload
ExecStop=/usr/local/nginx/sbin/nginx -s stop
PrivateTmp=true

[Install]
WantedBy=multi-user.target

9、其它

9.1重新配置参数

9.1.1 在原来的参数基础上加上 with-http_stub_status_module
  ./configure --prefix=/usr/local/nginx --pid-path=/var/local/nginx/nginx.pid --lock-path=/var/local/nginx/nginx.lock --error-log-path=/var/local/nginx/error.log --http-log-path=/var/local/nginx/access.log --with-http_gzip_static_module --with-http_stub_status_module --http-client-body-temp-path=/var/local/nginx/client --http-proxy-temp-path=/var/local/nginx/proxy --http-fastcgi-temp-path=/var/local/nginx/fastcgi --http-uwsgi-temp-path=/var/local/nginx/uwsgi --http-scgi-temp-path=/var/local/nginx/scgi
9.1.2 做好备份
  cp /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.bak
9.1.3重新编译
  注意只需要编译即可
  make
9.1.4替换掉原来的二进制nginx文件
  在nginx安装目录下的objs目录里面
  cp /root/wr/nginx-1.20.2/objs/nginx /usr/local/nginx/sbin/

9.2重新指定nginx配置文件

./nginx -c /usr/local/nginx/conf/nginx.conf

9.3 nginx命令不生效

9.3.1 软连接
  Linux 输入指令显示 command not found(未找到命令)解决办法,我们输入的命令都是系统先去/usr/bin目录下去寻找  这个目录类似于我们windows系统中的环境变量  如果在这个目录下找不到命令 就会提示command not found(未找到命令)
  ln -s 文件路径  环境变量路径
  ln -s /usr/local/nginx/sbin/nginx  /usr/bin
9.3.2 增加nginx环境变量
  打开/etc/profile,增加Nginx的环境变量
    #Nginx enviroment
    export NGINX_PATH=/usr/local/nginx
    export PATH=$PATH:${JAVA_HOME}/bin:$PATH:${NGINX_PATH}/sbin
  刷新配置文件,让配置生效
    source /etc/profile

版权声明:本文为gdq19041原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。