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小时内删除。
发表评论