Open yayxs opened 1 year ago
关于前端的话,我们与服务器打交道的机会也是很少的,一般企业公司 都会有专门的运维同学 各司其职。
运维同学
接口服务
写写页面
调调接口
那是不是我们就不需要关注Linux 常用的命令,或者与我无关
Linux
那前端切图仔在实际的开发中有没有机会去玩玩运维相关的玩意,是有的
比如说,有这么一个场景,我们利用uni-app 或者三方框架,牵扯到微信分享,这时候我们就需要自己上上传到公司的服务器,比如
uni-app
像一些分享的其实是h5 的页面,这时候你就可能自己更新你们公司存放h5 页面资源的文件(用 xftp 就行)
h5
还有一种场景,就是,前端大平台项目,像(Vue admin) 等等,你 build 之后是要更新一下的
接着就是自己开发的项目,练手项目想要自己部署等等,这就更需要了解常用的配置,或者命令
nginx 是流行的服务器 静态资源的托管 + 动态资源的反向代理 nginx 服务器来为多个域名和端口的提供服务
/usr/share/nginx/html/index.html
# 把nginx 中的html文件复制出来 docker cp nginx1:/usr/share/nginx/html ./nginx-html
user nginx; worker_processes auto; error_log /var/log/nginx/error.log notice; pid /var/run/nginx.pid; events { worker_connections 1024; } http { include /etc/nginx/mime.types; 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 /var/log/nginx/access.log main; sendfile on; #tcp_nopush on; keepalive_timeout 65; #gzip on; include /etc/nginx/conf.d/*.conf; }
其中include /etc/nginx/conf.d/*.conf; configuration directory 配置目录
include /etc/nginx/conf.d/*.conf;
以下是所有的路由
server { listen 80; listen [::]:80; server_name localhost; #access_log /var/log/nginx/host.access.log main; location / { root /usr/share/nginx/html; index index.html index.htm; } #error_page 404 /404.html; # redirect server error pages to the static page /50x.html # error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/share/nginx/html; }
有关路由的语法如下:
^~ 可以提高优先级
^~
location ^~ /444 { default_type text/plain; return 200 'xxxx'; }
CentOS 环境
$ sudo yum install epel-release && yum install nginx
Ubuntu 环境
$ sudo dnf install nginx
当然,在不同的场景及环境下,安装的命令大体都是类似的操作,接下来就拿一个举例子
nginx -v
[root@VM_0_3_centos umi-nest]# nginx -v nginx version: nginx/1.18.0 [root@VM_0_3_centos umi-nest]#
其中,这个就是咱们的版本 nginx version: nginx/1.18.0
nginx version: nginx/1.18.0
nginx -t
[root@VM_0_3_centos umi-nest]# nginx -t nginx: [emerg] invalid number of arguments in "root" directive in /www/server/panel/vhost/nginx/umi_nest.conf:6 nginx: configuration file /www/server/nginx/conf/nginx.conf test failed
上文,说明我们的配置是有问题的不是吗 failed 至于为什么错误,当然是咱们的配置是有点问题,其实咱们只需要了解基本的配置就像
service nginx start
[root@VM_0_3_centos umi-nest]# service nginx start Starting nginx... nginx (pid 7691 7690 6001) already running.
说明咱们的nginx 是正在启动
nginx
service nginx restart
[root@VM_0_3_centos umi-nest]# service nginx restart Stoping nginx... done Starting nginx... done
service nginx status
[root@VM_0_3_centos umi-nest]# service nginx status nginx (pid 10352 10351 10350) already running.
service nginx reload
[root@VM_0_3_centos umi-nest]# service nginx reload Reload service nginx... done
service nginx stop
如若权限不够的话,请sudo ,例如 sudo nginx -s reload
sudo nginx -s reload
查看进程的命令 ps -ef |grep nginx
ps -ef |grep nginx
[root@VM_0_3_centos umi-nest]# ps -ef |grep nginx root 10350 1 0 22:17 ? 00:00:00 nginx: master process /www/server/nginx/sbin/nginx -c /www/server/nginx/conf/nginx.conf www 10773 10350 0 22:20 ? 00:00:00 nginx: worker process www 10774 10350 0 22:20 ? 00:00:00 nginx: cache manager process root 12631 24792 0 22:32 pts/0 00:00:00 grep --color=auto nginx
例如地址栏访问:http://localhost:3000/api
http://localhost:3000/api
location ^~ /api { proxy_pass http://192.168.1.6:3000; }
我们可以通过通过简单的配置实现 小小的负载均衡,我们可以举个例子
upstream tomcats{ server 192.168.25.148:8080 weight=2; server 192.168.25.148:8081; } server { listen 80; server_name tomcat.test.com; location / { proxy_pass http://tomcats; index index.html index.htm; } }
只需要在 upstream 的 server 后面添加一个 weight 即可代表权重。权重越高,分配请求的数量就越多。默认权重是 1。也就是当请求过来的时候,会有很多的实例来 均衡
设计 https://www.fotor.com.cn/
关于文章的画图工具软件,draw.io
为什么学 nginx
关于前端的话,我们与服务器打交道的机会也是很少的,一般企业公司 都会有专门的
运维同学
各司其职。接口服务
的支持写写页面
调调接口
那是不是我们就不需要关注
Linux
常用的命令,或者与我无关用到的场景
那前端切图仔在实际的开发中有没有机会去玩玩运维相关的玩意,是有的
比如说,有这么一个场景,我们利用
uni-app
或者三方框架,牵扯到微信分享,这时候我们就需要自己上上传到公司的服务器,比如像一些分享的其实是
h5
的页面,这时候你就可能自己更新你们公司存放h5
页面资源的文件(用 xftp 就行)还有一种场景,就是,前端大平台项目,像(Vue admin) 等等,你 build 之后是要更新一下的
接着就是自己开发的项目,练手项目想要自己部署等等,这就更需要了解常用的配置,或者命令
关键词
nginx 做些什么
nginx 是流行的服务器 静态资源的托管 + 动态资源的反向代理 nginx 服务器来为多个域名和端口的提供服务
静态文件
/usr/share/nginx/html/index.html
主配置文件
其中
include /etc/nginx/conf.d/*.conf;
configuration directory 配置目录以下是所有的路由
有关路由的语法如下:
^~
可以提高优先级常用命令及操作
安装 Nginx 服务器
CentOS 环境
Ubuntu 环境
当然,在不同的场景及环境下,安装的命令大体都是类似的操作,接下来就拿一个举例子
检查版本
nginx -v
其中,这个就是咱们的版本
nginx version: nginx/1.18.0
检查配置语法是否合法
nginx -t
上文,说明我们的配置是有问题的不是吗 failed 至于为什么错误,当然是咱们的配置是有点问题,其实咱们只需要了解基本的配置就像
启动 Nginx 服务
service nginx start
说明咱们的
nginx
是正在启动重启 Nginx 服务
service nginx restart
查看 Nginx 服务状态
service nginx status
重新加载 Nginx 服务
service nginx reload
停止 Nginx 服务
service nginx stop
命令示例
总结
如若权限不够的话,请sudo ,例如
sudo nginx -s reload
查看进程的命令
ps -ef |grep nginx
代理
例如地址栏访问:
http://localhost:3000/api
负载均衡
我们可以通过通过简单的配置实现 小小的负载均衡,我们可以举个例子
只需要在 upstream 的 server 后面添加一个 weight 即可代表权重。权重越高,分配请求的数量就越多。默认权重是 1。也就是当请求过来的时候,会有很多的实例来 均衡
命令合集
扩展
设计 https://www.fotor.com.cn/
关于文章的画图工具软件,draw.io