linux系统下nginx的安装

一 安装nginx依赖

# 安装gcc
yum install gcc-c++
​
# 安装PCRE 
yum install -y pcre pcre-devel
​
# 安装zlib
yum install -y zlib zlib-devel
​
# 安装Open SSL
yum install -y openssl openssl-devel
​
# 安装全部
​
yum install -y gcc-c++ pcre pcre-devel zlib zlib-devel openssl openssl-devel

# 查看安装结果
rpm -qa gcc pcre pcre-devel zlib zlib-devel openssl openssl-devel

二 下载并解压nginx安装包

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

# 下载nginx
cd /usr/local
wget https://nginx.org/download/nginx-1.24.0.tar.gz
​
# 解压nginx安装包
tar -zxvf nginx-1.24.0.tar.gz

# 删除安装包
​rm -rf nginx-1.24.0.tar.gz

三 安装nginx

# 进入nginx目录
cd /usr/local/nginx
# 进入目录
cd nginx-1.24.0
# 编译 执行命令 考虑到后续安装ssl证书 添加两个模块  如不需要直接执行./configure即可
./configure --with-http_stub_status_module --with-http_ssl_module
# 执行make命令(要是执行不成功请检查最开始安装的四个依赖有没有安装成功)
make
#执行make install命令
make install
#或者一起
make && make install
# 清除
make clean

四 配置环境变量

vi /etc/profile
export PATH=$PATH:/usr/local/nginx/sbin
source /etc/profile
nginx -v

五 启动

cd /usr/local/nginx/sbin
# 默认配置文件启动
./nginx
​
# 指定配置文件启动
./nginx -c  /usr/local/nginx/conf/nginx.conf

六 浏览器访问

localhost:80

七 停止重启nginx

cd /usr/local/nginx/sbin
# 停止指令
./nginx -s stop
# 或
./nginx -s quit
​
# 重载配置
./nginx -s reload
​
# 查看nginx进程
ps -ef|grep nginx

八 设置开机自启动nginx

  • 方法一
#编辑
vim /etc/rc.local
 
#最底部增加这一行
/usr/local/nginx/sbin/nginx

#授权可执行
chmod +x /etc/rc.d/rc.local
  • 方法二
  • /lib/systemd/system是系统服务管理,开机启动,无需登录用户。
  • /usr/lib/systemd/system是用户服务管理,用户登录后自动启动。
  • /etc/systemd/system是存放所有的系统管理所需要的配置文件的地方。
# 新增自定义一个 nginx.service 文件
vi /usr/lib/systemd/system/nginx.service
# 文件中添加如下内容
[Unit]
Description=nginx
After=network.target

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

[Install]
WantedBy=multi-user.target
[Unit]	#服务的说明
Description	#描述服务
After	#描述服务类别
[Service]	#服务运行参数的设置
Type=forking	#是后台运行的形式
ExecStart	#为服务的具体运行命令
ExecReload	#为重启命令
ExecStop	#为停止命令
PrivateTmp=True	#表示给服务分配独立的临时空间
#注意:[Service]的启动、重启、停止命令全部要求使用绝对路径
[Install]	#运行级别下服务安装的相关设置,可设置为多用户,即系统运行级别为3
  • 重载系统服务
systemctl daemon-reload
  • systemctl操作服务命令
systemctl start nginx.service	#启动nginx服务
systemctl stop nginx.service	#停止nginx服务
systemctl enable nginx.service	#设置开机自启动
systemctl disable nginx.service	#停止开机自启动
systemctl status nginx.service	#查看服务当前状态
systemctl restart nginx.service	#重新启动服务
systemctl list-units --type=service	#查看所有已启动的服务

九 防火墙设置

#不过,关闭防火墙会导致服务器有一定风险,所以建议是单独开放服务端口:
firewall-cmd --zone=public --add-port=8089/tcp --permanent

#查询端口号8089 是否开启:
firewall-cmd --query-port=8089/tcp

#重启防火墙:
firewall-cmd --reload
# 查看firewall防火墙状态
systemctl status firewalld
# 查看firewall防火墙开放端口
firewall-cmd --list-ports
#禁止firewall开机启动 
systemctl disable firewalld.service

十 卸载nginx

  • 停止nginx
# 停止Nginx软件
/usr/local/nginx/sbin/nginx -s stop
# 或者杀死nginx进程
ps -ef | grep nginx
kill -9 11000
  • 查找根下所有名字包括nginx的文件

    find / -name nginx

  • 删除所有文件

    rm -rf /usr/local/sbin/nginx /usr/local/nginx /var/spool/mail/nginx

  • 其他设置,如果设置了Nginx开机自启动的话,可能还需要下面两步

chkconfig nginx off

rm -rf /etc/init.d/nginx

十一 前后端分离项目部署

server {
        listen       8883;
        server_name  localhost;

        location / {
		    root   /xinglong/ztxq2/dist/;
		    try_files $uri $uri/ /index.html;
            index  index.html index.htm;
        }
		
		location /prod-api/{
			proxy_set_header Host $http_host;
			proxy_set_header X-Real-IP $remote_addr;
			proxy_set_header REMOTE-HOST $remote_addr;
			proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
			proxy_pass http://49.4.79.163:9993/;
  	    }

        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }

include /www/server/panel/vhost/nginx/*.conf;

十二 配置SSL证书

server{
      listen 443 ssl;
      #对应你的域名
      server_name www.logicfeng.fun;
      ssl_certificate /usr/local/nginx/conf/cert/www.logicfeng.fun.pem;
      ssl_certificate_key /usr/local/nginx/conf/cert/www.logicfeng.fun.key;
      ssl_session_timeout 5m;
      ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
      ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
      ssl_prefer_server_ciphers on;
      #如果是静态文件,直接指向目录,如果是动态应用,用proxy_pass转发一下
      location / {
              		  root   /opt/exam/dist/;
              		  try_files $uri $uri/ /index.html;
                      index  index.html index.htm;
                  }

      location /prod-api/{
              	proxy_set_header Host $http_host;
              	proxy_set_header X-Real-IP $remote_addr;
              	proxy_set_header REMOTE-HOST $remote_addr;
              	proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
              	proxy_pass http://127.0.0.1:8081/;
                }

      error_page   500 502 503 504  /50x.html;
      location = /50x.html {
             root   html;
      }
    }
    #监听80端口,并重定向到443
    server{
      listen 80;
      server_name www.logicfeng.fun;
      rewrite ^/(.*)$ https://www.logicfeng.fun:443/$1 permanent;
    }
  • 测试
nginx -t
  • 重载配置
nginx -s reload
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

逻辑峰

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值