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
英文地址,請注明出處:http://en.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;并結合實際案例說明如何設置白名單與黑名單&#…