web服务器搭建nginx

1 配置主机ip

1.1获取主机ip

ip a
root@pc:/home/ruxin# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00inet 127.0.0.1/8 scope host lovalid_lft forever preferred_lft foreverinet6 ::1/128 scope host valid_lft forever preferred_lft forever
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000link/ether 00:0c:29:34:4c:5c brd ff:ff:ff:ff:ff:ffaltname enp2s1inet 192.168.3.127/24 brd 192.168.3.255 scope global dynamic noprefixroute ens33valid_lft 86397sec preferred_lft 86397secinet6 fe80::4:e2ce:b9f2:79fb/64 scope link noprefixroute valid_lft forever preferred_lft forever

可以得主机wifi的ip地址为:   192.168.3.127

1.2查看当前网络服务

systemctl status NetworkManager

         NetworkManager处于活跃状态(active (running)),说明系统通过 NetworkManager 管理网络,应使用01-network-manager-all.yaml配置。

root@pc:/etc/netplan# systemctl status NetworkManager
● NetworkManager.service - Network ManagerLoaded: loaded (/lib/systemd/system/NetworkManager.service; enabled; vendor preset: enabled)Active: active (running) since Mon 2025-06-30 14:32:50 CST; 34min agoDocs: man:NetworkManager(8)Main PID: 924 (NetworkManager)Tasks: 3 (limit: 9382)Memory: 10.8MCPU: 216msCGroup: /system.slice/NetworkManager.service└─924 /usr/sbin/NetworkManager --no-daemon6月 30 14:32:50 pc NetworkManager[924]: <info>  [1751265170.9469] device (ens33): state change: secondaries -> activated (reason 'none', sys-iface-state: 'managed')
6月 30 14:32:50 pc NetworkManager[924]: <info>  [1751265170.9471] manager: NetworkManager state is now CONNECTED_LOCAL
6月 30 14:32:50 pc NetworkManager[924]: <info>  [1751265170.9472] manager: NetworkManager state is now CONNECTED_SITE
6月 30 14:32:50 pc NetworkManager[924]: <info>  [1751265170.9472] policy: set '有线连接 1' (ens33) as default for IPv4 routing and DNS
6月 30 14:32:50 pc NetworkManager[924]: <info>  [1751265170.9476] device (ens33): Activation: successful, device activated.
6月 30 14:32:50 pc NetworkManager[924]: <info>  [1751265170.9480] manager: startup complete
6月 30 14:32:51 pc NetworkManager[924]: <info>  [1751265171.5458] manager: NetworkManager state is now CONNECTED_GLOBAL
6月 30 14:32:53 pc NetworkManager[924]: <info>  [1751265173.9185] agent-manager: agent[b9a40da6c2d8d60b,:1.42/org.gnome.Shell.NetworkAgent/1000]: agent registered
6月 30 14:53:17 pc NetworkManager[924]: <info>  [1751266397.7687] agent-manager: agent[b8cfb5e1ea0afe7d,:1.42/org.gnome.Shell.NetworkAgent/1000]: agent registered
6月 30 15:01:52 pc NetworkManager[924]: <info>  [1751266912.9341] agent-manager: agent[74a738928d7f23e4,:1.42/org.gnome.Shell.NetworkAgent/1000]: agent registered

1.3编辑netplan配置

  编辑文件:

sudo nano /etc/netplan/01-network-config.yaml

         示例配置

network:version: 2renderer: networkdethernets:ens33:dhcp4: falseaddresses: [192.168.3.114/24]routes:- to: defaultvia: 192.168.3.1nameservers:addresses: [8.8.8.8, 8.8.4.4]

         在 nano 中 Ctrl + x 为保存退出。

        应用配置:

sudo netplan apply

 遇到问题如下:

** (generate:63514): WARNING **: 15:18:48.328: Permissions for /etc/netplan/01-network-config.yaml are too open. Netplan configuration should NOT be accessible by others.** (generate:63514): WARNING **: 15:18:48.328: Permissions for /etc/netplan/01-network-manager-all.yaml are too open. Netplan configuration should NOT be accessible by others.** (process:63508): WARNING **: 15:18:48.574: Permissions for /etc/netplan/01-network-config.yaml are too open. Netplan configuration should NOT be accessible by others.** (process:63508): WARNING **: 15:18:48.575: Permissions for /etc/netplan/01-network-manager-all.yaml are too open. Netplan configuration should NOT be accessible by others.** (process:63508): WARNING **: 15:18:48.806: Permissions for /etc/netplan/01-network-config.yaml are too open. Netplan configuration should NOT be accessible by others.** (process:63508): WARNING **: 15:18:48.806: Permissions for /etc/netplan/01-network-manager-all.yaml are too open. Netplan configuration should NOT be accessible by others.** (process:63508): WARNING **: 15:18:48.806: Permissions for /etc/netplan/01-network-config.yaml are too open. Netplan configuration should NOT be accessible by others.** (process:63508): WARNING **: 15:18:48.806: Permissions for /etc/netplan/01-network-manager-all.yaml are too open. Netplan configuration should NOT be accessible by others.

        似乎是警告提示表明 Netplan 配置文件的权限设置过于宽松,存在安全风险。Netplan 要求配置文件只能由所有者(通常是 root 用户)读取和写入,其他用户不应有访问权限。 

        查看当前文件权限:

ls -l /etc/netplan/*.yaml

         提示如下:

-rw-r--r-- 1 root root 345 Jun 30 15:10 /etc/netplan/01-network-config.yaml
-rw-r--r-- 1 root root 289 Jun 30 15:10 /etc/netplan/01-network-manager-all.yaml

         使用chmod命令将配置文件的权限设置为600

sudo chmod 600 /etc/netplan/*.yaml

         再次查看文件权限:

-rw------- 1 root root 345 Jun 30 15:10 /etc/netplan/01-network-config.yaml
-rw------- 1 root root 289 Jun 30 15:10 /etc/netplan/01-network-manager-all.yaml
# 重新应用 Netplan 配置
sudo netplan apply

 ping一下:ping 192.168.3.114   没毛病

1.4配置editplus

首先安装ftp配置服务

apt install vsftpd

 该目录下进行配置:   vim /etc/vsftpd.conf

将write_enable 开放权限

此外,还要开放root用户

该目录下进行配置:   vim /etc/ftpusers

将 root 用户注释即可

重启vsftpd即可

service vsftpd restart

 接下来就可以在editplus上对其进行远程编辑了

2.安装配置nginx

2.1下载原装nginx

        1. 将下载得到的 “nginx-1.28.0.tar.gz” 上传到 /opt/software 目录下
        2. 解压压缩 tar
        tar -zxvf nginx-1.28.0.tar.gz # 解压后保存在 /opt/software/nginx-1.28
        3. 安装依赖

sudo apt update  # 更新软件包列表,确保获取最新的软件包信息
sudo apt install -y gcc  # 安装 C 编译器
sudo apt install -y libpcre3 libpcre3-dev  # 安装 pcre 库及开发文件,对应 yum 里的 pcre、pcre-devel
sudo apt install -y zlib1g zlib1g-dev  # 安装 zlib 库及开发文件,对应 yum 里的 zlib、zlib-devel


        4. 配置、编译和编译安装

        下面命令的操作目录均为   /opt/software/nginx-1.28

        配置 (指定安装目录 /usr/local/nginx,生成 Makefile 文件)

        ./configure --prefix=/usr/local/nginx

        编译和编译安装

        make && make install

2.2 nginx的启动与停止

  1.  进入到该目录:/usr/local/nginx/sbin
    cd /usr/local/nginx/sbin # 进入 nginx 的 sbin 目录

    sudo systemctl start nginx


  2. 停止

    sudo systemctl stop nginx  # 立即停止
    sudo systemctl quit nginx  # 优雅停止 nginx(停止前完成已经接受的请求)
  3. 重新加载
    ./nginx -s reload # 重新加载配置(不重启)

2.3配置端口

cd /usr/local/nginx/conf

 该目录下有一个nginx.conf配置文件,使用vim编辑

vim nginx.conf

2.4管理 Nginx 服务

        如果是从官网下载的纯净版nginx,则需要手动创建一个 systemd 服务单元文件来管理 Nginx 服务。

创建服务单元文件: 创建一个新的服务单元文件 nginx.service:

sudo vi /etc/systemd/system/nginx.service

编写服务单元文件:(千万千万不要写注释,会报错)

[Unit]
Description=Nginx - high performance web server
After=network.target[Service]
User=root
Type=forking
PIDFile=/usr/local/nginx/logs/nginx.pid
ExecStartPre=/usr/local/nginx/sbin/nginx -t -c /usr/local/nginx/conf/nginx.conf
ExecStartPre=/bin/sleep 10
ExecStart=/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
ExecReload=/usr/local/nginx/sbin/nginx -s reload -c /usr/local/nginx/conf/nginx.conf
ExecStop=/usr/local/nginx/sbin/nginx -s quit -c /usr/local/nginx/conf/nginx.conf
PrivateTmp=true[Install]
WantedBy=multi-user.target

重载配置:

sudo systemctl daemon-reload

并启动服务:

sudo systemctl start nginx

检查服务状态:

sudo systemctl status nginx

开机自启服务:

sudo systemctl enable nginx

3 配置jdk环境

3.1安装jdk1.7:

# Linux 版本
wget https://download.oracle.com/java/17/archive/jdk-17.0.7_linux-x64_bin.tar.gz

使用绝对路径解压

sudo tar -xzf /home/ruxin/jdk-17.0.7_linux-x64_bin.tar.gz -C /usr/local/java/

验证解压结果:

ls -la /usr/local/java/
# 应显示 jdk-17.0.7 目录

3.2 配置环境变量:

sudo nano /etc/profile

添加:

export JAVA_HOME=/usr/local/java/jdk-17.0.7
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

生效配置并验证:

source /etc/profile
java -version  # 应显示Java 17版本

4.配置MySQL8.0

4.1安装mysql

参考如下:

Ubuntu安装mysql8.0数据库-CSDN博客

使用 apt 命令安装mysql:

#1、更新安装包管理工具
sudo apt-get update#2、安装 mysql数据库,过程中的选项选择 y 
sudo apt-get install mysql-server-8.0

 4.2修改配置文件

sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf

注释掉:

#bind-address=127.0.0.1
# 或者将其修改为本机的wifi下的IP地址
#mysqlx-bind-address=127.0.0.1

添加:(注意要添加到[mysqld]后面)

character_set_server=utf8

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/news/912540.shtml
繁体地址,请注明出处:http://hk.pswp.cn/news/912540.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ubuntu ollama 遇到的若干问题

服务器原先有ollama&#xff0c;想要重装&#xff0c;遇到一系列问题 安装下载连接&#xff1a;https://github.com/ollama/ollama/blob/main/docs/linux.md模型下载链接&#xff1a;https://ollama.com/library/deepseek-r1:1.5b 一、安装新的ollama 在root用户下操作 1.卸…

Linux: errno: EMSGSIZE 5

最近看到一个envoy在发送UDP包时返回的错误:sendmsg failed with error code 5 这里的error code 5其实是,envoy自己定义的error code: case SOCKET_ERROR_MSG_SIZE:return IoErrorCode::MessageTooBig;class IoError {public:enum class

深度剖析 LNK 参数隐藏攻击 (ZDI-CAN-25373)

1、漏洞描述 ZDI-CAN-25373 是一个 Windows 快捷方式文件(.LNK)漏洞,它允许攻击者通过精心制作的恶意快捷方式文件来执行隐藏的恶意命令。攻击者通过在 .LNK 文件的 COMMAND_LINE_ARGUMENTS 结构中填充大量空白字符(如空格、水平制表符、换行符等)来隐藏恶意命令。这些填…

Linux操作系统笔记3

接口管理命令&#xff1a; ip命令 字符终端 nmcli命令 字符终端 nmtui命令 可视化终端 ip命令&#xff1a; 使用 ip 命令可以配置临时网络的连接信息&#xff0c;相关命令如下&#xff1a; ip link&#xff1a;显示网络设备运行状态 ip -s link&#xff1a;显示更详细的设备信…

Vue3 根据路由配置实现动态菜单

前言 最近在学习Vue3的相关语法&#xff0c;在阅读官方文档的时候觉得官方文档的菜单栏比较简洁美观&#xff0c;于是想着能不能自己实现一个类似的多级菜单。代码大部分由AI所做&#xff08;感谢活在这个人工智能时代&#xff09;。 设计 主要就是路由设计以及菜单设计 路…

C#中 Winform如何实现跨页面调用

设计页面 如下 其中Form2为启动项 当点击订阅消息的时候 会创建Form1页面 当 Form1页面的点击发送的时候 自动将发送的消息同步到label1中 Form2的代码如下 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using S…

一个完整的Python解决方案,用于使用机器学习筛选最优模型并分析纳米酶特征与Km/Vmax的相关性

以下是一个完整的Python解决方案,用于使用机器学习筛选最优模型并分析纳米酶特征与Km/Vmax的相关性。代码包含数据预处理、模型选择、特征相关性分析和结果可视化,并附带详细注释。 import pandas as pd import numpy as np import matplotlib.pyplot as plt import seaborn…

用python可视化南方大暴雨及洪水数据分析

用python可视化南方大暴雨及洪水数据分析 截至20250621,南方地区(特别是广东、广西、湖南等地)遭遇的极端暴雨和洪水灾害&#xff0c;斑点鱼将使用Python进行数据分析和可视化&#xff0c;展示洪水影响区域、雨势强度以及经济损失等情况。 数据搜集如下&#xff1a; import …

DeepSPV:一个用于从二维超声图像进行三维脾脏体积估算的深度学习流程|文献速递-最新论文分享

Title 题目 DeepSPV: A deep learning pipeline for 3D spleen volume estimation from 2D ultrasound images DeepSPV&#xff1a;一个用于从二维超声图像进行三维脾脏体积估算的深度学习流程 01 文献速递介绍 1.1 临床背景 脾肿大&#xff0c;即脾脏增大&#xff0c;是…

PHP在做爬虫时的解决方案

爬虫不是一个小众的场景,所以无论是哪个语言,都有很多相应的生态库.这里介绍一下PHP的技术方案和代码量。 关键能力 对页面的解析能力 PHP的官方扩展中有Dom扩展,但是我建议使用electrolinux/phpquery这个库,他相当于一个PHP版的JQ. 算上加载文件,只要三行就能获取title标签…

zookeeper Curator(2):Curator的节点操作

文章目录 zookeeper 的安装Curator 介绍Curator API 常用操作本章必要的相关依赖和配置建立连接第一种方式第二种方式 关闭连接添加节点创建节点创建节点并设置值和类型创建多级节点 查询节点查询数据查询所有子节点查询节点信息 修改节点修改节点数据修改节点(乐观锁修改&…

计算机视觉的定义及应用方向

近两年来&#xff0c;机器学习、深度学习、人工智能等方向逐步成为很多同学最关注的研究和就业方向。不可否认&#xff0c;计算机视觉作为深度学习的应用领域之一&#xff0c;在工业界取得了蓬勃的发展&#xff0c;也是目前最热门的方向之一。 计算机视觉是什么 计算机视觉主要…

低代码开发实战:使用活字格快速创建 Java Web API

引言 在当今快速发展的软件开发领域&#xff0c;低代码平台因其高效性和易用性而备受关注。Java Web API作为企业级应用开发的重要组成部分&#xff0c;与低代码平台的结合能够显著提升开发效率。本文将以葡萄城活字格平台为例&#xff0c;详细介绍如何利用其低代码特性快速创…

当后端接口返回格式不是easyui默认的格式,怎么办

方法:可以增加一个数据过滤方法对后端的接口结构进行转换。 分析:easyui默认情况下,只能接收如下格式的接口: {"total": 1,"rows": [{"id": 1,"userName": "jiao","unionId": 1,"phone": "2…

第一弹 AC Module: 和编程语言无关以AI为中心的自包含模块化理念和实现

背景和问题 说起模块/包&#xff0c;几乎是大部分语言都有的概念&#xff0c;因为一个项目会很庞大&#xff0c;如果单纯只用文件做隔离&#xff0c;文件可能几千上万个&#xff0c;所以需要在项目和文件之间获得一个平衡&#xff0c;这个时候就有包和模块的概念。比如python 你…

Edge(chrome)右键插件的右键菜单怎么设置

主要使用 contextMenus 右键菜单功能&#xff0c;正常用它给页面设置右键菜单&#xff0c;其实它也可以给插件还有其它功能设置右键菜单&#xff0c;是根据 contexts 选项来设置给哪个功能设置右键菜单。 首先添加权限 "permissions": ["contextMenus"], …

后端设计笔记13 FM

1.理论 2.实践 LAB 报错以后可以双击错误&#xff0c;便可以定位到错误&#xff0c;或者打开pattern查看 还可以analyse

闲庭信步使用SV搭建图像测试平台:第十九课——YCbCr图像转RGB图像

&#xff08;本系列只需要modelsim即可完成数字图像的处理&#xff0c;每个工程都搭建了全自动化的仿真环境&#xff0c;只需要双击文件就可以完成整个的仿真&#xff0c;大大降低了初学者的门槛&#xff01;&#xff01;&#xff01;&#xff01;如需要该系列的工程文件请关注…

C++(智能指针)

智能指针 1.基础&#xff1a; 1.1 概念 智能指针是用于自动管理动态分配内存的RAII&#xff08;Resource Acquisition Is Initialization&#xff09;对象。它们通过自动释放内存来防止内存泄漏&#xff0c;是替代裸指针的安全工具。 1.2 解析 众所周知&#xff0c;堆内存对象…

Sentinel 授权规则详解与自定义异常处理

Sentinel 授权规则详解与自定义异常处理 在微服务系统中&#xff0c;权限控制和访问保护是至关重要的一环。本文将详细介绍如何通过 Sentinel 的 授权规则&#xff08;AuthorityRule&#xff09; 控制资源访问权限&#xff0c;并结合实际案例说明如何设置白名单与黑名单&#…