Ubuntu 24.04 LTS 服務器配置:安裝 JDK、Nginx、Redis。

Ubuntu 24.04 LTS 服務器配置:安裝 JDK、Nginx、Redis。


新建用來放置軟件安裝包的目錄

mkdir /home/software

配置目錄所有者為 ubuntu 用戶:

chown ubuntu /home/software

將軟件安裝包上傳到 /home/software


配置 JDK-8

新建 jdk 安裝目錄

mkdir /usr/java

解壓 jdk 壓縮包

tar -zxvf jdk-8u191-linux-x64.tar.gz

把解壓后的 jdk 放到 /usr/java 下,這個目錄專門用于存放 jdk

mv jdk1.8.0_191/ /usr/java/

修改 profile 文件,配置 jdk 環境變量(注:環境變量配置在 profile 文件的最末尾即可)

vim /etc/profile
export JAVA_HOME=/usr/java/jdk1.8.0_191
export CLASSPATH=.:%JAVA_HOME%/lib/dt.jar:%JAVA_HOME%/lib/tools.jar  
export PATH=$PATH:$JAVA_HOME/bin

刷新 profile,使其生效

source /etc/profile

驗證是否安裝成功

java -version

至此,JDK 安裝成功。


配置 nginx 1.24.0


下載安裝包

wget http://nginx.org/download/nginx-1.24.0.tar.gz

解壓

tar -zxvf nginx-1.24.0.tar.gz

創建 nginx 臨時目錄,如果不創建,在啟動 nginx 的過程中會報錯

mkdir /var/temp/nginx -p

進入目錄

cd nginx-1.24.0

安裝編譯依賴

sudo apt update
sudo apt install -y build-essential libpcre3-dev zlib1g-dev libssl-dev

配置編譯選項,創建 makefile 文件

./configure --prefix=/usr/local/nginx --pid-path=/var/run/nginx/nginx.pid --lock-path=/var/lock/nginx.lock --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --with-http_gzip_static_module --http-client-body-temp-path=/var/temp/nginx/client --http-proxy-temp-path=/var/temp/nginx/proxy --http-fastcgi-temp-path=/var/temp/nginx/fastcgi --http-uwsgi-temp-path=/var/temp/nginx/uwsgi --http-scgi-temp-path=/var/temp/nginx/scgi --with-http_ssl_module

進行編譯

make -j$(nproc)

進行安裝

make install

配置 HTTPS

  • 把 ssl 證書 *.crt 和私鑰 *.key 拷貝到 /usr/local/nginx/conf 目錄中

  • 新增 server 監聽 443 端口

    server {listen       443;server_name  www.xxx.com;# 開啟sslssl     on;# 配置ssl證書ssl_certificate      www.xxx.com.crt;# 配置證書秘鑰ssl_certificate_key  www.xxx.com.key;# ssl會話cachessl_session_cache    shared:SSL:1m;# ssl會話超時時間ssl_session_timeout  5m;# 配置加密套件,寫法遵循 openssl 標準ssl_protocols TLSv1 TLSv1.1 TLSv1.2;ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;ssl_prefer_server_ciphers on;location / {proxy_pass http://tomcats/;index  index.html index.htm;}}
    

    檢查配置文件有效性

    sudo /usr/local/nginx/sbin/nginx -t
    

    啟動

    sudo /usr/local/nginx/sbin/nginx
    

    停止

    sudo /usr/local/nginx/sbin/nginx -s stop
    

    重新加載

    sudo /usr/local/nginx/sbin/nginx -s reload
    

    檢查版本,查詢配置參數

    /usr/local/nginx/sbin/nginx -v
    

    安裝完成。


配置 redis 7.0(注冊到 systemd,實現開機自啟)


下載源碼

wget https://download.redis.io/releases/redis-7.0.12.tar.gz

安裝依賴 & 準備環境

sudo apt update && sudo apt upgrade -y
sudo apt install -y build-essential tcl curl

解壓

tar xzf redis-7.0.12.tar.gz

編譯安裝

cd redis-7.0.12
make -j$(nproc)               # 使用全部 CPU 核心加速編譯
sudo make install             # 默認安裝到 /usr/local/bin

修改配置文件

sudo mkdir -p /usr/local/redis
sudo cp redis.conf /usr/local/redis/redis.conf
vim /usr/local/redis/redis.conf

以下配置項逐個進行修改

bind 0.0.0.0                                   # 不限制 IP,可以遠程連接
daemonize no                                   # 改為 no(由 systemd 管理)
supervised systemd                             # 改為 systemd
dir /usr/local/redis/working                   # 修改數據存儲路徑
logfile /usr/local/redis/log/redis-server.log  # 設置日志路徑
requirepass xxxxyyyy                           # 設置密碼# 啟用混合持久化
appendonly yes            # 啟用 AOF
appendfsync everysec      # 每秒同步一次(安全性和性能的平衡點)
aof-use-rdb-preamble yes  # 開啟混合持久化# AOF 重寫策略
auto-aof-rewrite-percentage 100
auto-aof-rewrite-min-size 64mb# 設置 AOF 目錄
appenddirname "aof-files"

創建 Systemd 服務文件,實現自啟動管理

sudo vim /etc/systemd/system/redis.service

完整拷貝以下配置

[Unit]
Description=Redis In-Memory Data Store
After=network.target[Service]
User=redis
Group=redis
ExecStart=/usr/local/bin/redis-server /usr/local/redis/redis.conf
ExecStop=/usr/local/bin/redis-cli shutdown
Restart=always
RestartSec=3
Type=notify
TimeoutStopSec=10
SyslogIdentifier=redis# 聲明 Redis 需要訪問的路徑
ReadWritePaths=/usr/local/redis/working /usr/local/redis/log
LogsDirectory=redis# 資源限制 (可選但推薦)
LimitNOFILE=65536
OOMScoreAdjust=-200[Install]
WantedBy=multi-user.target

創建必要目錄

sudo mkdir -p /usr/local/redis/working              # 創建 Redis 工作目錄
sudo mkdir -p /usr/local/redis/log                  # 創建 Redis 日志目錄
sudo mkdir -p /usr/local/redis/working/aof-files    # 創建上面配置的 AOF 目錄

創建 Redis 專用用戶和目錄

# 創建專用用戶和組
sudo adduser --system --group --no-create-home redis# 設置數據目錄權限
sudo chown -R redis:redis /usr/local/redis/working
sudo chown -R redis:redis /usr/local/redis/log# 設置合適的權限 (所有者:讀+寫+執行、組用戶:讀+執行、其他用戶:無權限)
sudo chmod 750 /usr/local/redis/working
sudo chmod 750 /usr/local/redis/log# 設置配置文件權限
sudo chown redis:redis /usr/local/redis/redis.conf

啟動 Redis 并設置開機自啟

# 重載 systemd
sudo systemctl daemon-reload# 啟動服務
sudo systemctl start redis# 停止服務
sudo systemctl stop redis# 設置開機自啟
sudo systemctl enable redis# 檢查狀態
sudo systemctl status redis

檢查數據目錄,驗證持久化配置

sudo ls -lh /usr/local/redis/working    # 應看到 aof-files 文件夾和 dump.rdb 文件

安裝完成。


本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/88039.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/88039.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/88039.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

工作中用到過哪些設計模式?是怎么實現的?

1. 單例模式(結合 Spring Component)場景:配置中心、全局狀態管理 Spring 實現:java// 自動注冊為Spring Bean(默認單例) Component public class AppConfig {Value("${server.port}")private in…

Leetcode 3609. Minimum Moves to Reach Target in Grid

Leetcode 3609. Minimum Moves to Reach Target in Grid 1. 解題思路2. 代碼實現 題目鏈接:3609. Minimum Moves to Reach Target in Grid 1. 解題思路 這一題我一開始走岔了,走了一個正向遍歷走法的思路,無論怎么剪枝都一直超時。后來看了…

工作流引擎:IDEA沒有actiBPMN插件怎么辦?

文章目錄一、問題描述二、替代方案一、問題描述 我們在學習activiti7工作流引擎的時候,需要設計流程圖。 一般推薦的就是使用IDEA插件actiBPMN進行開發。 但是,這個插件在IDEA2019后的版本都不在支持。 也就是搜不到 那么,怎么辦了&#x…

Android音視頻探索之旅 | CMake基礎語法 創建支持Ffmpeg的Android項目

一.CMake語法 CMake語法非常多,我們知道如何導入靜態庫和動態庫以及最基礎的使用,目前是夠用的。其它方面則根據實際項目同步學習。 1.1.基礎語法-常用 cmake_minimum_required:指定cmake最小版本include_directories:引入&#x…

React Native 初始化項目和模擬器運行

中文官方文檔:https://reactnative.cn/docs/environment-setup 英文官方文檔:https://reactnative.dev/docs/getting-started-without-a-framework#step-1-creating-a-new-application 創建新項目 1、初始化 # 如果你之前全局安裝過舊的react-native-cli…

20250706-5-Docker 快速入門(上)-創建容器常用選項_筆記

一、創建容器常用選項1. 創建容器常用選項1)常用選項創建容器常用選項交互式選項:-i:保持標準輸入打開,允許交互式操作-t:分配偽終端,使容器像傳統終端一…

插值與擬合(3):B樣條曲線

在路徑規劃問題中,通常會用到B樣條來平滑路徑,本文實現并封裝了三次準均勻開放B樣條曲線,供大學學習使用。作者提供了三套代碼方案。可以用于不同平臺:方案1:MATLAB;方案2:標準C;方案…

[免費]基于Python豆瓣電影數據分析及可視化系統(Flask+echarts+pandas)【論文+源碼+SQL腳本】

大家好,我是java1234_小鋒老師,看到一個不錯的于Python豆瓣電影數據分析及可視化系統(Flaskechartpandas)【論文源碼SQL腳本】,分享下哈。項目介紹隨著如今電影越來越多,各種各樣的爛片和撈錢的商業片也層出不窮,而有意…

SQL127 月總刷題數和日均刷題數

SQL127 月總刷題數和日均刷題數 withtemp as (selectDATE_FORMAT(submit_time, "%Y%m") as submit_month,count(question_id) as month_q_cnt,round(count(question_id) / day(last_day(max(submit_time))),3) as avg_day_q_cntfrompractice_recordwhereyear(submit…

unity luban接入

1.找到luban官網并下載他的例子和.net8.0的sdk安裝 官網地址如下 快速上手 | Luban 參考大佬教程如下 Luban新版本接入教程_嗶哩嗶哩_bilibili 2.找到他的luban_examples-main示例下的兩個文件MiniTemplate和tool 3.MiniTemplate這個文件復制一份到項目工程下,自…

Django服務開發鏡像構建

最后完整的項目目錄結構1、安裝依賴pip install django django-tables2 django-filter2、創建項目和主應用django-admin startproject configcd configpython manage.py startapp dynamic_models3、配置settings.py將項目模塊dynamic_models加入進來,django_tables2…

20250706-3-Docker 快速入門(上)-常用鏡像管理命令_筆記

一、配置加速器1. Docker Hub簡介與地址公共鏡像倉庫: 由Docker公司維護的公共鏡像倉庫,包含大量容器鏡像默認下載源: Docker工具默認從這個公共鏡像庫下載鏡像訪問地址: https://hub.docker.com鏡像搜索功能: 可通過瀏覽器訪問圖形化管理系…

【unity游戲開發——優化篇】使用Occlusion Culling遮擋剔除,只渲染相機視野內的游戲物體提升游戲性能

注意:考慮到優化的內容比較多,我將該內容分開,并全部整合放在【unity游戲開發——優化篇】專欄里,感興趣的小伙伴可以前往逐一查看學習。 文章目錄 前言實戰1、確保所有靜止的3D物體都標記為Occluder Static靜態遮擋體和Occludee …

通用業務編號生成工具類(MyBatis-Plus + Spring Boot)詳解 + 3種調用方式

在企業應用開發中,我們經常需要生成類似 BZ -240704-0001 這種“業務編號”,它通常具有以下特點:前綴:代表業務類型,如 BZ 表示包裝日期:年月日格式,通常為 yyMMdd序列號:當天內遞增…

前端相關性能優化筆記

1.打開速度怎么變快 - 首屏加載優化2.再次打開速度怎么變快 - 緩存優化了3.操作怎么才順滑 - 渲染優化4.動畫怎么保證流暢 - 長任務拆分2.1 首屏加載指標細化:1.FP(First Paint 首次繪制) 2.FCP(First contentful Paint 首次內容繪制),FP 到 FCP 中間其實主要是 SPA…

7.7晚自習作業

實操作業02:Spark核心開發 作業說明 請嚴格按照步驟操作,并將最終結果文件(命名為:sparkcore_result.txt)于20點前上傳。結果文件需包含每一步的關鍵命令執行結果文本輸出。 一、數據讀取與轉換操作 上傳賬戶數據$…

手機FunASR識別SIM卡通話占用內存和運行性能分析

手機FunASR識別SIM卡通話占用內存和運行性能分析 --本地AI電話機器人 上一篇:手機無網離線使用FunASR識別SIM卡語音通話內容 下一篇:手機通話語音離線ASR識別商用和優化方向 一、前言 書接上一文《阿里FunASR本地斷網離線識別模型簡析》,…

虛幻引擎Unreal Engine5恐怖游戲設計制作教程,從入門到精通從零開始完整項目開發實戰詳細講解中英字幕

和大家分享一個以前收集的UE5虛幻引擎恐怖游戲開發教程,這是國外一個大神制作的視頻教程,教程從零開始到制作出一款完整的游戲。內容講解全面,如藍圖基礎知識講解、角色控制、高級交互系統、高級庫存系統、物品檢查、恐怖環境氛圍設計、過場動…

多人協同開發時Git使用命令

拉取倉庫代碼 # 拉取遠程倉庫至本地tar_dir路徑 git clone gitgithub.com:your-repo.git target_dir # 默認是拉取遠程master分支,下面拉取并切換到自己需要開發的分支上 # 假設自己需要開發的分支是/feature/my_branch分支 git checkout -b feature/my_branch orig…

線性表——雙向鏈表

線性表——雙向鏈表1. 雙向鏈表的實現1.1 簡單圖例1.2 結點的定義1.3 新結點的創建1.4 鏈表的初始化1.5 結點的插入1.5.1 頭部插入(頭插)1.5.2 尾部插入(尾插)1.5.3 任意位置(前)插入1.6 結點的刪除1.6.1 頭…