> For the complete documentation index, see [llms.txt](https://cifar.gitbook.io/note/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://cifar.gitbook.io/note/fu-wu/yun-wei.md).

# 运维

> linux服务器装机后，命令行显示:
>
> bolean\@beijing\_company:\~$           ls
>
> 用户名 @ 公司组织名 ： \~$       linux命令

## linux 进程管理

### 引言

> bolean 审计项目学习经验
>
> [Linux网卡命名enp3s0说明](https://segmentfault.com/a/1190000006078381)  , 文中提到的进程管理工具：***systemd、systemctl***
>
> * `lo`表示`local`
> * `wl`表示`wlan`(Wireless Local Area Network)无线局域网
> * `en`表示`ethernet`以太网
>
> Ubuntu 18.04 LTS[设置固定ip](https://blog.csdn.net/u010039418/article/details/80934346)

【Linux】[ init、service、systemctl 三者区别](https://segmentfault.com/a/1190000038458363)

[systemd 和 supervisor 相比各有哪些优缺点？以及各自的适用场景是什么？](https://www.zhihu.com/question/48833333)

> Systemd是Linux中的No.1进程，何谓No.1，就是老大啊，老大能管很多事，那么是不是就都让他管呢？举个现实中的例子，企业中有的人技术很厉害，然后他的领导只要一有事就扔给他，也不管事大事小，你要问结果？结果能好吗？
>
> Supervisord用于小型应用还可以，但是对于现在流行的微服务就完全不能胜任了，而且，Supervisord其实只是简单的脚本程序，系统级的干不了，跨主机的谈都不要谈，能干点的就是在一台主机上自个儿玩玩，而且，又一个而且，代码出Bug也是家常便饭，这点要考虑清楚，你，也是来玩他的吗？
>
> 总结: 靠谱一点的方法，用Systemd管Supervisord。

### 进程管理工具

#### Supervisor

[supervisor 安装、配置、常用命令](https://www.cnblogs.com/xueweihan/p/6195824.html)

问题 Supervisorctl error: unix:///var/run/supervisord.sock refused connection?

意外断电，服务器宕机，supervisor启动问题。

> [解决方案](https://www.jianshu.com/p/b211a7bb528a?u_atoken=fb2deb1a-ab5a-4e70-8e7a-9c259e481c2f\&u_asession=01eMo4COX87kComb2-DygBw4LssobhsUUy-o5yQN7EI6-OHNzVzw_kC6M_AYyDuO9AX0KNBwm7Lovlpxjd_P_q4JsKWYrT3W_NKPr8w6oU7K_d1mp6ePUejJSCUqztko6UPIF6hypDqzN_tz02ZDuS7GBkFo3NEHBv0PZUm6pbxQU\&u_asig=059Az3Xd5we7lcAslF8C0b3Sf7k1L55GW-qFlL4J4Eh2Xj9i-PeveicdmggK1Rx7RbNT2f1Duc_UElo_y_79ayENbn5SwFXIb_-2EVqcg9SsDMZlQDG78f3anTyP2AXa4tODLp2CFAD2g7CQeCd-ww-RonXYFlqddD8IJP8MSscZr9JS7q8ZD7Xtz2Ly-b0kmuyAKRFSVJkkdwVUnyHAIJzSHt-2duI6QQmbGGY6bYeRRT4sv9_pIFwhfkCpQus057HLC90DffcRgc58NhmjbgM-3h9VXwMyh6PgyDIVSG1W_WEN_BbokQdMdPcYqtVweYdCrLLf1k0_c2QrrYTSuGMTjfFHWQr7tD_9-pMbYpt1F5TY-9nYd2NLHf6DBd9snkmWspDxyAEEo4kbsryBKb9Q\&u_aref=8rtYPTbPDQL6FFJzstIJEQO7ZKQ%3D):   sudo supervisord -c /etc/supervisord.conf
>
> 扩展:   linux 系统启动顺序命令：systemctl status   （然后在具体查看 服务.service配置的具体位置）
>
> &#x20;          Linux中[systemd的service文件说明](https://blog.csdn.net/qq_16268979/article/details/114771854)                 [systemctl命令的使用及服务状态的查看](https://blog.csdn.net/sky__man/article/details/78178821)

非root用户无权限问题   <img src="/files/3WZhLF7oTk1uWHOl0KXj" alt="" data-size="line">

> apt -y install supervisor&#x20;
>
> sed -i "6i chown=${USER}:${USER}" /etc/supervisor/supervisord.conf  &#x20;
>
> systemctl restart supervisor

## Nginx

#### 查看nginx服务状态

```bash
systemctl status nginx.service
```

开源可视化 [配置生成器](https://mp.weixin.qq.com/s/MkHNE-zVLyyv4z6fDuF0Pw)

源码 ：<https://github.com/digitalocean/nginxconfig.io>

在线配置：<https://do.co/nginxconfig>

> 在  做内容驱动应用演示 cdf 时
>
> nginx 对 超时 和 请求体的限制。<img src="/files/QK0lMFTs8Ik9GqeNFD2i" alt="" data-size="line">

```
// 以及对端口的转发，前端监听 89端口，后端 监听8003，需要把所有89的请求转发到8003
location / {
    root   /usr/share/nginx/dist;
    index  index.html index.htm;
}
location /cdf/search {
    proxy_pass http://192.168.3.22:8003/cdf/search;
    proxy_set_header Host $host;
    proxy_set_header referer “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-Forwarded-Proto $scheme;
    proxy_set_header Access-Control-Allow-Origin *;
    proxy_connect_timeout 5;
    proxy_read_timeout  1000000;
    client_max_body_size 1000m;
}
```

ssl证书  <img src="/files/VvqKpf0rnq9vwaFKq8Rd" alt="" data-size="line">

### 配置参数含义

[Nginx配置server\_name详细教程](https://www.itheima.com/news/20210723/162833.html)

[Nginx启用https访问](https://cloud.tencent.com/developer/article/1151073)

Nginx[静态服务配置---详解root和alias指令](https://www.cnblogs.com/zhumengke/articles/11688095.html)

## devops

#### gitlab私有化部署&#x20;

[方法选择](https://docs.gitlab.cn/jh/install/install_methods.html)

> 一、本地安装  ：按照官网 apt install 一个gitlab工具
>
> 然后通过[软件配置](https://segmentfault.com/a/1190000040220475)，类似本地服务。如nginx服务，存在 gitlab-ctl 命令。
>
> 注意 网址为本地 ip:port,     /etc/gitlab/gitlab.rb  →  external\_url "<http://192.168.31.30:81>"
>
> ```
> #重新配置并启动
> sudo gitlab-ctl reconfigure
> ```
>
> 进程锁<img src="/files/AQVYAKYnFq9PJ74lnNiK" alt="" data-size="line">
>
> 二、docker 安装【推荐使用】
>
> [一键式安装](https://docs.gitlab.cn/jh/install/docker.html)       --hostname gitlab.example.com      作用类似nginx - hostname，应该为本地地址
>
> eg:  192.168.31.28    <img src="/files/FfR14vFamjAMxONn6KAn" alt="" data-size="line">   【可以看到ssh从22端口下载，http 从80端口下载】

JumpServer - 开源堡垒机 - [官网](https://www.jumpserver.org/) <img src="/files/TJgGzzCWkKTvBZfeB9Oa" alt="" data-size="line">
