centos8.5安装nginx+开机⾃动启动
下载nginx,下载地址:
当前最新稳定版 nginx-1.20.
下载完成后通过 xftp⼯具将nginx-1.20.上传到centos服务器的某个⽬录下⾯。
【nginx常⽤命令】
cd /usr/local/nginx/sbin/  #进到nginx⽬录
./nginx
./nginx -s stop  #强制停⽌
./nginx -s quit  #平滑停⽌
./nginx -s reload  #重载配置⽂年
nginx -t #检查配置⽂件是否正确
nginx -t -c /特定⽬录/f #检查特定⽬录的配置⽂件是否正确
ginx -v #查看版本信息
【查看nginx进程信息】
ps aux | grep nginx
pa -ef | grep nginx
安装依赖
nginx依赖包:
gcc、libtool
pcre、pcre-devel
zlib、zlib-devel
openssl、openssl-devel
安装nginx前必须先安装这些依赖。
【安装gcc】
gcc是linux下的编译器,它可以编译 C、C++、Ada、Object C、Java等语⾔。
yum -y install make gcc gcc-c++ libtool
查看 gcc版本: gcc -v 或 gcc --version
【安装pcre】
pcre是⼀个perl库,包括perl兼容的正则表达式库,nginx的http模块使⽤pcre来解析正则表达式,所以需要安装pcre库。yum install -y pcre pcre-devel
查看pcre版本号:pcre-config --version
【安装zlib】angular安装
zlib库提供了很多种压缩和解压缩⽅式,nginx使⽤zlib对http包的内容进⾏gzip。
yum install -y zlib zlib-devel
【安装openssl】
openssl⽤来对http通讯进⾏加密。
yum install -y openssl openssl-devel
安装nginx
下载nginx
wget /download/nginx-1.20.
如果提⽰ “ -bash: wget: 未到命令 ”,这是因为wget命令未安装,需要先安装wget 。
yum -y install wget
然后再地⽤wget下载nginx 。
解压到 /usr/local/nginx  ⽬录下。
mkdir -p /usr/local/nginx
tar -zxvf  nginx-1.20. -C /usr/local/nginx
安装nginx
cd /usr/local/nginx/nginx-1.20.2
./configure  #如果将nginx安装到指定⽬录,加个参数,./configure --prefix=/usr/local/你指定的⽬录
make && make install
注意:安装完成后,会将nginx的配置⽂件、sbin⽬录等放到【 /usr/local/nginx 】⽬录中,⽽【 /usr/local/nginx/nginx-1.20.2 】⽬录只是源码⽽已。
【启动nginx】
cd /usr/local/nginx/sbin
./nginx
查看nginx进程信息:
ps -ef | grep nginx
查看防⽕墙是否有开放80端⼝及http:
firewall-cmd --list-all
如果没有开放,必须先开放80端⼝及http之后,外⽹才能访问到nginx。
firewall-cmd --add-service=http --permanent
firewall-cmd --add-port=80/tcp --permanent
firewall-cmd --reload
再次查看开放的端⼝:
firewall-cmd --list-all
开机⾃动启动nginx
在系统服务⽬录⾥创建nginx.service⽂件,
vi /lib/systemd/system/nginx.service
nginx.service⽂件内容如下:
[Unit]
#描述服务
Description=nginx
#描述服务类别
After=network.target
#服务运⾏参数的设置,注意【Service】的启动、重启、停⽌命令都要⽤绝对路径[Service]
#后台运⾏的形式
Type=forking
#服务具体运⾏的命令
ExecStart=/usr/local/nginx/sbin/nginx
#重启命令
ExecReload=/usr/local/nginx/sbin/nginx -s reload
#停⽌命令
ExecStop=/usr/local/nginx/sbin/nginx -s quit
#表⽰给服务分配独⽴的临时空间
PrivateTmp=true
#运⾏级别下服务安装的相关设置,可设置为多⽤户,即系统运⾏级别为3 [Install]
WantedBy=multi-user.target
设置开机启动:
systemctl enable nginx.service
systemctl start nginx.service
nginx其他命令:
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 (查看所有已启动的服务)
验证nginx是否安装成功:
nginx配置⽂件说明
【f 配置⽂件说明】
#user  nobody;
worker_processes  1;  #⼯作进程:数⽬。根据硬件调整,通常等于cpu数量最佳
#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;
#pid        logs/nginx.pid;  #nginx进程pid存放路径
events {
worker_connections  1024; #⼯作进程的最⼤连接数量
}
http {
include      pes;
default_type  application/octet-stream;
#log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
#                  '$status $body_bytes_sent "$http_referer" '
#                  '"$http_user_agent" "$http_x_forwarded_for"';
#access_log  logs/access.log  main;
sendfile        on;
#tcp_nopush    on;
#keepalive_timeout  0;
keepalive_timeout  65;
#gzip  on;
#web服务器配置
server {
listen      80; #配置监听端⼝号
server_name  localhost; #配置访问域名,域名可以有多个,⽤空格隔开
#charset koi8-r; #字符集设置
#access_log  logs/host.access.log  main;
location / {
root  html; #根⽬录,这⾥是相对路径,也可以⽤绝对路径 E:/wwwroot/html;
try_files $uri $uri/ index  index.html index.htm;  #try_files $uri $uri/ 适配vue, angular, react的历史路由模式        }
#error_page  404              /404.html;
# redirect server error pages to the static page /50x.html
#
error_page  500502503504  /50x.html;
location = /50x.html {
root  html;
}
}
#反向代理服务器配置
server {
listen      80
server_name  api.loveu;  #域名
location / {
proxy_pass 127.0.0.1:8001;
proxy_set_header    Host                $http_host;
proxy_set_header    X-Real-IP          $remote_addr;
proxy_set_header    X-Forwarded-For    $proxy_add_x_forwarded_for;            proxy_set_header    X-NginX-Proxy      true;
}
location /order { #根据路径转发到不同域名
proxy_pass 127.0.0.1:8002;
proxy_set_header    Host                $http_host;
proxy_set_header    X-Real-IP          $remote_addr;
proxy_set_header    X-Forwarded-For    $proxy_add_x_forwarded_for;            proxy_set_header    X-NginX-Proxy      true;
}
location /pay {  #根据路径转发到不同域名
proxy_pass 127.0.0.1:8003
proxy_set_header    Host                $http_host;
proxy_set_header    X-Real-IP          $remote_addr;
proxy_set_header    X-Forwarded-For    $proxy_add_x_forwarded_for;            proxy_set_header    X-NginX-Proxy      true;
}
}
#反向代理 + 负载均衡配置
#负载均衡节点配置
upstream mall-loveu {
server 127.0.0.1:8031 weight=1;
server 127.0.0.1:8032 weight=1;
server 127.0.0.1:8033 weight=1;
}
#负载均衡服务器⼊⼝
server {
listen      8030;
server_name  127.0.0.1;
location / {
proxy_pass mall-loveu;
proxy_set_header    Host                $http_host;
proxy_set_header    X-Real-IP          $remote_addr;
proxy_set_header    X-Forwarded-For    $proxy_add_x_forwarded_for;            proxy_set_header    X-NginX-Proxy      true;
}
}
#https配置
# HTTPS server
#
#server {
#    listen      443 ssl; #监听https端⼝
#    server_name  localhost; #配置访问域名,域名可以有多个,⽤空格隔开    #    ssl_certificate      cert.pem; #证书位置
#    ssl_certificate_key  cert.key; #私钥位置
#    ssl_session_cache    shared:SSL:1m;
#    ssl_session_timeout  5m;
#    ssl_ciphers  HIGH:!aNULL:!MD5;  #密码加密⽅式
#    ssl_prefer_server_ciphers  on;
#    location / {
#        root  html;
#        try_files $uri $uri/ index  index.html index.htm;
#    }
#}
}
【location 指令说明】
语法:
location [ = | ~ | ~* | ^~] uri {
}

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。