关于 Nginx
Nginx是一款高性能的web服务器软件。它是一个比Apache HTTP Server更加灵活和轻量级的程序。
本教程将教你如何在CentOS 7服务器上安装和启动Nginx。
前提
本教程中的步骤要求用户拥有root权限。您可以在CentOS 7的初始化服务器设置教程中,按照以下步骤进行设置。
添加 Nginx 库
CentOS 7 EPEL存储库的添加方法:打开终端,使用如下命令:
sudo yum install epel-release
安装 Nginx
现在Nginx库已经安装在你的服务器上了,使用yum命令安装Nginx:
sudo yum install nginx
Nginx 服务命令
Nginx不能自己启动。要让Nginx运行,输入:
sudo systemctl start nginx
访问本机80端口,如果你看到这个页面,那么你Nginx已经正确安装了(失败请检查防火墙规则)
使用systemd控制Nginx :
sudo systemctl stop nginx #关闭nginx服务
sudo systemctl status nginx #查看nginx服务状态
sudo systemctl enable nginx #开启nginx服务开机自启动
sudo systemctl disable nginx #关闭nginx服务开机自启动
Nginx 默认服务地址
/usr/share/nginx/html
Nginx 配置文件地址
/etc/nginx/nginx.conf
配置服务或代理
部署vue项目
打开nginx.conf,在server.location / 节点下添加
server {
listen 8080;
listen [::]:8080;
server_name your_server_name;
location / {
root /app/vue-dist; #vue项目目录
try_files $uri $uri/ /index.html;
}
}
设置跨域访问
server {
listen 8080;
listen [::]:8080;
server_name your_server_name;
location / {
root /app/vue-dist;
try_files $uri $uri/ /index.html;
# 设置跨域访问
add_header Access-Control-Allow-Origin *;
add_header Access-Control-Allow-Methods 'GET, POST, OPTIONS';
add_header Access-Control-Allow-Headers 'DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Authorization';
if ($request_method = 'OPTIONS') {
return 204;
}
}
}
HTTP代理
server {
listen 8081;
server_name _api;
location / {
proxy_set_header Host $host;
proxy_set_header X-Real-Ip $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_pass http://10.147.20.229:80; #代理网站地址
# proxy_pass http://www.baidu.com; #也可以是域名
}
}
SSH代理
nginx.conf 跟目录添加stream块
events {
...
}
http {
...
}
# 上面是已存在的块
# 下面是田添加的stream块
stream {
upstream ssh-proxy {
server 192.168.1.10:22; #代理对象的地址
}
server {
listen 8088;
proxy_pass ssh-proxy;
}
}
设置图片代理
server {
listen 8080;
listen [::]:8080;
server_name your_server_name;
location / {
root /app/vue-dist;
try_files $uri $uri/ /index.html;
}
location /images {
alias /app/vue-dist/imgs;
autoindex on;
}
}