Nginx和Apache安装与基础部署


Nginx和Apache安装与基础部署

一:安装

安装方式有多种,每种方式的繁琐程度不同

使用系统包管理器安装 使用源码编译安装 其中,使用系统包管理器安装如沐春风,使用源码编译安装味同嚼蜡。所以我只说用系统包管理器安装

1、使用系统包管理器安装

CentOS系统

yum install epel-release
yum install nginx

Ubuntu系统

sudo apt update
sudo apt-get install nginx

查看版本以确定是否安装成功

nginx -v

启动 nginx

sudo systemctl start nginx
2、一些默认路径

Nginx的网站文件存放在/etc/nginx/sites-available目录下, 默认的静态网页文件夹是/usr/share/nginx/html目录 配置文件通常位于/etc/nginx目录下。具体的文件名可能是nginx.conf 查看Nginx的错误日志,通常位于 /var/log/nginx/error.log

3、设置html文件夹权限

直接用sftp上传文件到linux的html文件下 ,会报权限拒绝

可以先给html赋777权限,然后重启Linux

// 赋777权限
sudo chmod -R 777 /usr/share/nginx/html

// 重启
sudo service nginx reload

卸载nginx(purge参数是指删除删除安装包)

sudo apt --purge remove nginx
二:配置
1、隐藏某级路径

如果你想将静态网页放在nginx的html的dist文件夹下,并希望在URL的某个端口号后不需要写dist就可以打开页面,你可以尝试使用rewrite规则来实现。如果你希望在不同的端口号上对应不同的文件夹,可以在nginx的配置文件中添加多个server块,每个块指定不同的端口号和对应的文件夹路径。以下是一个示例配置:

server {
  listen 8080;
  root /path/to/nginx/html/dist1;
  index index.html;
  location / {
    try_files $uri $uri/ /index.html;
  }
}

server {
  listen 8081;
  root /path/to/nginx/html/dist2;
  index index.html;
  location / {
    try_files $uri $uri/ /index.html;
  }
}

其中的$uri是指匹配的正则路径,后面的index.html则是使用的文件(即访问$uri时,实际需要访问的文件)

2、设置post请求代理

要在Nginx中配置静态网页的POST请求代理,你可以使用proxy_pass指令来将POST请求反向代理到另一个服务器或应用程序。其实就是在上面配置的server模块中,再加一个location。

以下是一个示例配置:

server {
  listen 80;
  server_name example.com;
  location / {
    root /path/to/your/static/files;
    try_files $uri $uri/ =404;
  }
  location /api {
    rewrite ^/api(.*)$ $1 break;
    proxy_pass http://backend_server;
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  }
}

上面示例中,在location /api块中添加了一个rewrite指令。这个指令会把请求URL中的/api前缀去掉,并把剩余部分作为反向代理的路径。

这样,如果你的静态网站中的POST请求以/api开头,Nginx将会代理这些请求至后端服务器,并将响应返回给客户端。URL中的/api前缀将被移除,后端服务器收到的请求将是不带前缀的形式。

代理转发后的效果如下:

// 浏览器看到的请求
http://39.104.22.73/api/getarticlenum/foreend

// 代理后实际的请求;
http://39.104.22.73:8888/getarticlenum/foreend

文章作者: Alan Work
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 Alan Work !
  目录