linux(麒麟系统)安装nginx

linux(麒麟系统)安装nginx

1、apt-get安装nginx

安装命令:

sudo apt-get install nginx
2、查看是否安装成功
nginx -v
3、启动nainx
service nginx start
4、重启
service nginx restart
5、停止
service nginx stop
6、启动后,在网页重输入ip地址,即可看到nginx的欢迎页面。至此nginx安装成功

 http://localhost/

7、nginx文件安装完成之后的文件位置:

/usr/sbin/nginx:主程序

/etc/nginx:存放配置文件

/usr/share/nginx:存放静态文件

/var/log/nginx:存放日志 

8、修改配置文件:

进入 /etc/nginx  执行 sudo vim nginx.conf

修改配置文件后重新加载配置文件 nginx -s reload

 a、可以参考下面的配置:

worker_processes auto;
#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;
 
#pid        logs/nginx.pid;
 
 
events {
    worker_connections  1024;
}
 
 
http {
    include       mime.types;
    default_type  application/octet-stream;

    gzip  on;
    gzip_min_length 5k; 
    gzip_buffers 4 16k; 
    gzip_comp_level 8; 
    gzip_types text/css/woff application/javascript;
    sendfile        on;
    #tcp_nopush     on; 

    keepalive_timeout  600;
 
    #gzip  on;
 
    client_max_body_size   20m;

    server {
        listen       8459;
        server_name  localhost;
  


        location / {
            root   /data/www/qianduan;
            index  index.html index.htm;
            try_files $uri $uri/ /index.html;
        }
         
 
 location /api/ {
        proxy_pass http://localhost:8458/; #后台API地址
    }

        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
 
        
    }
server {
 listen 8458; 
server_name api接口; 

#允许跨域
        add_header 'Access-Control-Allow-Origin' '*';
        add_header 'Access-Control-Allow-Credentials' 'true';
        add_header 'Access-Control-Allow-Methods' '*';
        add_header 'Access-Control-Allow-Headers' '*';

location / { proxy_pass http://127.0.0.1:9291; 
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade; 
proxy_set_header Connection keep-alive;
 proxy_set_header Host $host; 
proxy_cache_bypass $http_upgrade; 
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 
proxy_set_header X-Forwarded-Proto $scheme; }
}
 
}

b、也可以将各server节点,单独创建一个.conf文件,放在/etc/nginx/conf.d目录,然后在nginx.conf通过以下句子引入

新建文件命令

sudo touch web.conf

 编辑文件输入以下命令,按i,编辑完后按esc然后:wq退出

sudo vim web.conf

站点内容

server {
        listen       9898;
        server_name  localhost;
  


        location / {
            root   /data/www/qianduan;
            index  index.html index.htm;
            try_files $uri $uri/ /index.html;
        }
         
 
 location /api/ {
        proxy_pass http://localhost:8458/; #后台API地址
    }

        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
 
        
    }

http {
    include       mime.types;
    default_type  application/octet-stream;

    gzip  on; 
    gzip_min_length 5k;
    gzip_buffers 4 16k;       
    gzip_comp_level 8; 
    gzip_types text/css application/javascript;
    sendfile        on;
    #tcp_nopush     on; 

    keepalive_timeout  600;
    
    #gzip  on;
 
    client_max_body_size   20m; 
    
    
   include /etc/nginx/conf.d/*.conf;

}

<think>嗯,用户明确表示需要在麒麟操作系统上安装和配置Nginx,看来用户正在准备搭建web服务器环境。根据用户提供的引用资料,有三个主要安装途径:源码编译安装(引用1)、rpm包离线安装(引用3)、以及系统服务管理(引用2和4)。值得注意的是,引用3特别强调了银河麒麟系统必须使用官方兼容的rpm包,否则可能导致系统问题,这应该是重点提醒用户的注意事项。用户可能不太清楚不同麒麟版本(如openKylin和KylinV10)的差异,需要帮ta区分。从引用内容看,V10SP3这类企业版系统对软件兼容性要求严格,而openKylin作为开源社区版可能更灵活。引用4还提供了SFTP文件服务器的整合方案,虽然用户没直接要求,但可以保留作为进阶建议。安装方案需要按用户系统版本做分流处理:如果是V10企业版就优先推荐官方rpm安装(引用3),避免兼容性问题;如果是openKylin则提供源码安装方案(引用1)并补充systemd服务管理(引用2)。配置部分要统一涵盖防火墙、目录结构和服务启动,尤其注意nginx配置文件路径在/etc/nginx/(引用3)和站点根目录权限(引用4)。用户可能是运维人员或开发者,但未提及具体应用场景,所以补充基础测试和静态页面的步骤来降低门槛。结尾的进阶问题特意加入负载均衡配置和HTTPS部署,因为这两个是企业应用的常见需求(引用3中的高版本nginx支持这些功能)。特别注意避免引用2和3的命令冲突——在openKylin中nginx服务名可能需要用nginx.service而非单写nginx,这点需要在systemctl命令里明确区分开。</think> 好的,在麒麟操作系统(openKylin 或 Kylin Linux Advanced Server V10)上安装和配置 Nginx 主要有以下几种方式,选择哪种取决于你的具体系统版本和个人偏好(源码编译 vs 软件包安装)。下面是详细的指南: ## 安装指南 (根据系统版本选择方式) ### 🔧 方式一:通过官方仓库安装(推荐,适用于有网络环境的 openKylin / V10 SP2 及以上) ⚠️ 注意: *此方式需要官方仓库有更新版本的Nginx。* V10 SP3 的 `base` 仓库提供的是较老版本(如1.16),而 `updates` 仓库可能有新版本(如1.21)。 1. **更新系统缓存:** 确保系统软件包列表是最新的。 ```bash sudo apt update # openKylin 或 配置了APT的Kylin V10 # 或者 (如果使用的是yum/dnf) sudo yum makecache # Kylin V10 (dnf 代替 yum 同理) ``` 2. **搜索可用Nginx版本:** ```bash apt search nginx # openKylin / APT # 或者 yum list available nginx* # Kylin V10 (dnf search nginx* 或 dnf info nginx) ``` 3. **安装Nginx:** * 如果仓库中有你需要的版本(如 `nginx`): ```bash sudo apt install nginx # openKylin / APT # 或者 sudo yum install nginx # Kylin V10 (使用 dnf 则替换为 sudo dnf install nginx) ``` * 如果想安装 `updates` 仓库中更新的版本(例如SP3的`kylin-updates`中的nginx),需要先确认仓库是否已启用且包含所需包。 ### 📦 方式二:下载官方兼容的 RPM 包离线安装(适用于 Kylin Linux Advanced Server V10,特别是 SP3) ⛔ **重要提示:** *强烈建议从麒麟官方源(如update.cs2c.com.cn)获取对应系统版本的 RPM 包,使用非官方源(如CentOS)的包可能导致兼容性问题甚至系统不稳定。*(引用3) 1. **确定系统版本:** 精确获取你的麒麟系统版本。 ```bash nkvers # 或者 cat /etc/kylin-release ``` 记下你的 `Release`, `Kernel`, `Build` 信息,特别是类似 `V10 (SP3)` 的标识。 2. **下载官方兼容RPM包:** * 访问官方软件仓库查找对应的包。根据引用3的示例(SP3): * 基础包地址:`Index of /NS/V10/V10SP3/os/adv/lic/base/x86_64/Packages/` (可能包含较老版本如1.16) * 更新包地址:`https://update.cs2c.com.cn/NS/V10/V10SP3/os/adv/lic/updates/x86_64/Packages/` (可能包含较新版本如1.21.5,需要查找包含 `nginx` 的包,通常是nginx-1.21.5-x.x86_64.rpm) * 将所需 RPM 包(可能还需要依赖包)下载到服务器本地目录(如 `~/nginx-rpms`)。 3. **安装RPM包:** 进入存放RPM包的目录,执行安装(可能需要忽略依赖检查,但官方包通常应能解决依赖)。 ```bash cd ~/nginx-rpms sudo rpm -Uvh *.rpm --nodeps --force # 或者逐个安装所需的核心包(如找到 nginx 主包) sudo rpm -ivh nginx-1.21.5*.rpm # 替换为实际包名 ``` `--nodeps --force` 选项用于强制安装(在明确兼容性前提下谨慎使用)。如果提示缺少依赖,需要去对应仓库找到并下载该依赖包一同安装。 ### 🧱 方式三:从源码编译安装(适用于自定义版本或特定配置) 🛠 此方式灵活,但步骤稍多。 1. **安装编译依赖:** ```bash # openKylin / V10 (APT) sudo apt install build-essential libpcre3 libpcre3-dev zlib1g zlib1g-dev openssl libssl-dev wget # V10 (Yum/DNF) sudo yum install gcc make pcre pcre-devel zlib zlib-devel openssl openssl-devel wget ``` 2. **下载Nginx源码:** ```bash wget http://nginx.org/download/nginx-1.25.3.tar.gz # 替换为所需版本 tar zxvf nginx-1.25.3.tar.gz cd nginx-1.25.3 ``` 3. **配置、编译、安装:** ```bash ./configure # 基础安装路径在 /usr/local/nginx # 可添加配置选项,例如指定路径 ./configure --prefix=/opt/nginx make sudo make install ``` 4. **(可选) 创建 Systemd 服务文件(如果使用源码安装):** 方便管理。 * 在 `/usr/lib/systemd/system/nginx.service` (或 `/etc/systemd/system/nginx.service`) 创建一个文件: ```ini [Unit] Description=The nginx HTTP and reverse proxy server After=network.target remote-fs.target nss-lookup.target [Service] Type=forking PIDFile=/usr/local/nginx/logs/nginx.pid # 或实际PID文件路径 # 注意以下路径和用户需要根据你的编译选项调整 ExecStartPre=/usr/local/nginx/sbin/nginx -t ExecStart=/usr/local/nginx/sbin/nginx ExecReload=/usr/local/nginx/sbin/nginx -s reload ExecStop=/bin/kill -s QUIT $MAINPID PrivateTmp=true User=nginx # 确保系统有nginx用户 Group=nginx [Install] WantedBy=multi-user.target ``` * 使配置生效并设置开机启动: ```bash sudo systemctl daemon-reload sudo systemctl enable nginx ``` ## 🧪 基本配置与验证 1. **防火墙:** 允许 HTTP(80) / HTTPS(443) 访问。 ```bash sudo firewall-cmd --permanent --add-service=http # 开放80端口 sudo firewall-cmd --permanent --add-service=https # 开放443端口 (如果需要) sudo firewall-cmd --reload ``` 2. **启动、停止、重启 Nginx:** * **如果安装成系统服务 (RPM包或配置了Service):** ```bash sudo systemctl start nginx # 启动 sudo systemctl stop nginx # 停止 sudo systemctl restart nginx # 重启 sudo systemctl reload nginx # 平滑重载配置(不中断连接) sudo systemctl status nginx # 查看状态 (引用2) ``` * **如果使用源码安装 *未* 配置服务:** ```bash /usr/local/nginx/sbin/nginx # 启动 (替换成你的安装路径) /usr/local/nginx/sbin/nginx -s stop # 停止 /usr/local/nginx/sbin/nginx -s reload # 重载配置 /usr/local/nginx/sbin/nginx -t # 测试配置文件语法 ``` 3. **测试安装:** 在浏览器访问服务器 IP 地址或域名 (`http://<your_server_ip>`)。应该能看到 Nginx 的默认欢迎页面 ("Welcome to nginx!")。 4. **主要配置文件:** * RPM安装/APT安装:通常主配置文件在 `/etc/nginx/nginx.conf`。(引用3) * 源码编译安装:通常在安装目录的 `conf/nginx.conf` (如 `/usr/local/nginx/conf/nginx.conf`)。 * 站点配置文件:RPM/APT 安装后,通常建议在 `/etc/nginx/conf.d/` 目录下为每个站点创建单独的 `.conf` 文件。 5. **设置开机启动(如果已配置Systemd服务):** ```bash sudo systemctl enable nginx ``` 6. **(可选) 配置静态站点:** 编辑 `/etc/nginx/conf.d/default.conf` (或创建类似 `mywebsite.conf`),示例配置如下: ```nginx server { listen 80; server_name your_domain.com www.your_domain.com; # 替换为你的域名或 IP root /usr/share/nginx/html; # 默认根目录 (RPM包安装), 替换为你的实际目录 (如 /data/www) index index.html index.htm; location / { try_files $uri $uri/ =404; autoindex on; # 如果不需要列出文件目录请关闭此项 (引用4) } } ``` 修改后,**务必运行配置测试** `sudo nginx -t` 或 `sudo systemctl reload nginx` 重载配置生效。 7. **目录访问 (类似 SFTP 共享访问示例):** 如果需要通过 Web 访问特定目录列表(如 `/opt/sftp`),可以配置如下:(引用4) ```nginx server { listen 8000; # 或其他自定义端口 server_name localhost; # 或你的域名 location / { root /opt/sftp/; index none; # 明确不设置索引文件,强制展示目录列表 autoindex on; # 开启目录列表 # autoindex_localtime on; # 按本地时间显示文件时间(可选) # autoindex_exact_size off; # 显示文件大小(K/M/G)(可选) } } ``` 保存配置并重载 Nginx。 ## ⚠️ 重要注意事项 * **系统兼容性:** Kylin Linux Advanced Server V10 **务必**使用官方提供的兼容软件包 (引用3),避免系统崩溃。 * **用户权限:** Nginx 默认以用户 `nginx` 或 `www-data` 运行。确保网站根目录(如 `/data/www`, `/opt/sftp`)对该用户有合适的读取(或写入)权限。 * **配置文件语法:** 修改配置后 `sudo nginx -t` 测试语法正确性至关重要,语法错误会导致Nginx启动或重载失败。 * **日志:** Nginx 访问日志和错误日志通常位于 `/var/log/nginx/`(RPM/APT安装)或编译安装目录下的 `logs/` 目录,用于排查问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值