nginx
下载
- 下载nginx
- 下载依赖
yum -y install make zlib zlib-devel gcc-c++ libtool openssl openssl-devel pcre pcre-devel
- 将下载好的nginx上传至服务器
- 解压,编译,安装
# 解压
tar zxvf nginx-1.21.6.tar.gz
# 进入nginx安装包
cd nginx-1.21.6
# 源码安装,自定义安装位置
./configure --prefix=/usr/local/nginx
# 编译安装
make
make install
- 安装成系统服务
vi /usr/lib/systemd/system/nginx.service
#脚本内容
[Unit]
Description=nginx - web server
After=network.target remote-fs.target nss-lookup.target
[Service]
Type=forking
PIDFile=/usr/local/nginx/logs/nginx.pid
ExecStartPre=/usr/local/nginx/sbin/nginx -t -c /usr/local/nginx/conf/nginx.conf
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
ExecQuit=/usr/local/nginx/sbin/nginx -s quit
PrivateTmp=true
[Install]
wantedBy=multi-user.target
- 重新加载系统服务
systemctl daemon-reload
- 基本命令
# 开机自启
systemctl enable nginx
# 启动
systemctl start nginx
# 重新启动
systemctl restart nginx
# 关闭
systemctl stop nginx
# 查看运行状态
systemctl status nginx
配置
根据域名转发
添加多个server,server_name用 域名做区分
server {
listen 80;
server_name a.clcoding.cn;
location / {
proxy_pass http://www.clcoding.cn;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
server {
listen 80;
server_name b.clcoding.cn;
location / {
proxy_pass http://www.baidu.com;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
多机器负载均衡
在与server同级定义upstream
upstream myservices {
server 127.0.0.1:8080;
server 127.0.0.1:8081;
}
使用proxy_pass,选择定义的upstream
server {
listen 80;
server_name b.clcoding.cn;
location / {
proxy_pass http://myservices;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
跨域解决
前端:修改baseUrl
baseURL:"http://域名/api",
域名解析:将前端中配置的域名解析到nginx所在服务器
Nginx:修改server配置
server {
listen 80;
server_name nginx所在服务器域名;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
proxy_pass http://前端项目所在服务器IP:端口;
}
location /api {
rewrite ^/api/(.*)$ /$1 break;
proxy_pass http://后端项目所在服务器IP:端口;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 清华大学推出第四讲使用 DeepSeek + DeepResearch 让科研像聊天一样简单!
· 推荐几款开源且免费的 .NET MAUI 组件库
· 实操Deepseek接入个人知识库
· 易语言 —— 开山篇
· Trae初体验