快速搭建linux centos 部署環境及常用命令-備忘錄,以防丟失

来源:https://www.cnblogs.com/junner/archive/2023/09/19/17714192.html
-Advertisement-
Play Games

一. gcc 安裝 yum install gcc-c++ 安裝 nginx 需要先將官網下載的源碼進行編譯,編譯依賴 gcc 環境,如果沒有 gcc 環境,則需要安裝: cd /etc/yum.repos.d/ sed -i 's/mirrorlist/#mirrorlist/g' /etc/yu ...


一. gcc 安裝
yum install gcc-c++

安裝 nginx 需要先將官網下載的源碼進行編譯,編譯依賴 gcc 環境,如果沒有 gcc 環境,則需要安裝:

cd /etc/yum.repos.d/
sed -i 's/mirrorlist/#mirrorlist/g' /etc/yum.repos.d/CentOS-*
sed -i 's|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g' /etc/yum.repos.d/CentOS-*

二. PCRE pcre-devel 安裝
PCRE(Perl Compatible Regular Expressions) 是一個Perl庫,包括 perl 相容的正則表達式庫。nginx 的 http 模塊使用 pcre 來解析正則表達式,所以需要在 linux 上安裝 pcre 庫,pcre-devel 是使用 pcre 開發的一個二次開發庫。nginx也需要此庫。命令:

yum install -y pcre pcre-devel

三. zlib 安裝
zlib 庫提供了很多種壓縮和解壓縮的方式, nginx 使用 zlib 對 http 包的內容進行 gzip ,所以需要在 Centos 上安裝 zlib 庫。

yum install -y zlib zlib-devel

四. OpenSSL 安裝
OpenSSL 是一個強大的安全套接字層密碼庫,囊括主要的密碼演算法、常用的密鑰和證書封裝管理功能及 SSL 協議,並提供豐富的應用程式供測試或其它目的使用。
nginx 不僅支持 http 協議,還支持 https(即在ssl協議上傳輸http),所以需要在 Centos 安裝 OpenSSL 庫。

yum install -y openssl openssl-devel

五.nginx安裝

進入安裝目錄(自選目錄)

1.直接下載.tar.gz安裝包,地址:https://nginx.org/en/download.html

wget -c https://nginx.org/download/nginx-1.14.2.tar.gz

tar -zxvf nginx-1.14.2.tar.gz
cd nginx-1.14.2
yum -y install gcc gcc-c++ autoconf automake make

yum install -y gcc pcre pcre-devel openssl openssl-devel gd gd-devel


./configure --prefix=/usr/local/nginx --with-http_ssl_module --with-http_gzip_static_module

make
make install

進入啟動目錄
cd /usr/local/nginx/sbin/
./nginx 
./nginx -s stop
./nginx -s quit
./nginx -s reload

開啟防火牆,開啟http https

systemctl start firewalld
sudo firewall-cmd --permanent --zone=public --add-service=http 
sudo firewall-cmd --permanent --zone=public --add-service=https
sudo firewall-cmd --reload

JDK 安裝,下載jdk包(步驟跟nginx差不多)
vi /etc/profile
最後一行添加

JAVA_HOME = jdk安裝目錄

export JAVA_HOME=/home/environment/jdk1.8.0_271
export CLASSPATH=.:${JAVA_HOME}/jre/lib/rt.jar:${JAVA_HOME}/lib/dt.jar:${JAVA_HOME}/lib/tools.jar
export PATH=$PATH:${JAVA_HOME}/bin

wq退出後 重新載入文件
source /etc/profile

如果伺服器不在大陸 設置北京時間
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

六.redis安裝
升級gcc版本

gcc -v
yum -y install centos-release-scl
yum -y install devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutils
echo "source /opt/rh/devtoolset-9/enable" >>/etc/profile
scl enable devtoolset-9 bash

下載redis包(步驟跟nginx差不多)
tar -zxvf redis-6.0.9.tar.gz

mv redis-6.0.9 /usr/local/redis

cd /usr/local/redis
make
make install PREFIX=/usr/local/redis

前臺啟動

cd /usr/local/redis/bin/
./redis-server

後臺啟動
cp /usr/local/redis/redis.conf /usr/local/redis/bin/
修改 redis.conf 文件,把 daemonize no 改為 daemonize yes
修改bind 127.0.0.1改為0.0.0.0
記得設置密碼

設置開機啟動
vi /etc/systemd/system/redis.service

[Unit]
Description=redis-server
After=network.target

[Service]
Type=forking
ExecStart=/usr/local/redis/bin/redis-server /usr/local/redis/bin/redis.conf
PrivateTmp=true

[Install]
WantedBy=multi-user.target
systemctl daemon-reload
systemctl start redis.service
systemctl enable redis.service

創建軟連接
ln -s /usr/local/redis/bin/redis-server /usr/bin/redis

systemctl start redis.service   #啟動redis服務

systemctl stop redis.service   #停止redis服務

systemctl restart redis.service   #重新啟動服務

systemctl status redis.service   #查看服務當前狀態

systemctl enable redis.service   #設置開機自啟動

systemctl disable redis.service   #停止開機自啟動

7.mysql安裝

wget https://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm
rpm -ivh mysql57-community-release-el7-9.noarch.rpm
cd  /etc/yum.repos.d/

//安裝2022年密鑰

rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022
yum install mysql-server
systemctl start mysqld

獲取安裝時的臨時密碼
grep 'temporary password' /var/log/mysqld.log
刪除原來安裝過的mysql殘留的數據

rm -rf /var/lib/mysql
mysql -u root -p
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '大小寫密碼';
use mysql;
update user set Host='%' where User='root';  
flush privileges;

mysql 設置最大連接數

show variables like "max_connections";

set global max_connections=3000;

show processlist;

八.其他常用命令
開放埠
firewall-cmd --zone=public --add-port=1981/tcp --permanent

關閉埠
firewall-cmd --zone=public --remove-port=6000/udp --permanent

查看埠
firewall-cmd --zone=public --list-ports

重啟防火牆
firewall-cmd --reload

查看防火牆狀態
firewall-cmd --state

查看監聽埠
netstat -lnpt

//修改打開文件句柄

vi /etc/security/limits.conf

* soft nofile 65534
* hard nofile 65534

查看 ngnix 併發數

netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a,S[a]}'

SYN_RECV //一個連接請求已經到達,等待確認

ESTABLISHED //正常數據傳輸狀態/當前併發連接數

FIN_WAIT2 //另一邊已同意釋放

ITMED_WAIT //等待所有分組死掉

CLOSING //兩邊同時嘗試關閉

TIME_WAIT //另一邊已初始化一個釋放

LAST_ACK //等待所有分組死掉

修改開機啟動配置
vi /etc/rc.local
啟動命令加入其中即可

查看連接數
netstat -n | awk '/^tcp/ {++state[$NF]} END {for(key in state) print key,"\t",state[key]}'

查看IP數

netstat -tun | awk '{print $5}' | cut -d: -f1 |sort | uniq -c | sort -n

查看磁碟情況
du -sh /*

查找文件裡面內容
grep "查找內容" 查找文件

nload網路工具使用

yum install epel-release

yum install nload

nload -n #查看流量情況

您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • Arrays.asList() 是一個 Java 的靜態方法,它可以把一個數組或者多個參數轉換成一個 List 集合。這個方法可以作為數組和集合之間的橋梁,方便我們使用集合的一些方法和特性。本文將介紹 Arrays.asList() 的語法、應用場景、坑點和總結。 語法 應用場景 坑點 總結 語法 ...
  • 協程 & asyncio & 非同步 1. 協程 (coroutine) 協程不是電腦提供,而是程式員人為創造。 協程(coroutine),也可以被稱為微線程,是一種用戶態內的上下文切換技術。簡而言之,其實就是通過一個線程實現代碼塊互相切換運行。例如: def func1(): print(1) ...
  • Go協程為併發編程提供了強大的工具,結合輕量級、高效的特點,為開發者帶來了獨特的編程體驗。本文深入探討了Go協程的基本原理、同步機制、高級用法及其性能與最佳實踐,旨在為讀者提供全面、深入的理解和應用指導。 關註公眾號【TechLeadCloud】,分享互聯網架構、雲服務技術的全維度知識。作者擁有10 ...
  • 01、背景 工作中遇到項目使用Disruptor做消息隊列,對你沒看錯,不是Kafka,也不是rabbitmq;Disruptor有個最大的優點就是快,還有一點它是開源的哦,下麵做個簡單的記錄. 02、Disruptor介紹 Disruptor 是英國外匯交易公司LMAX開發的一個高性能隊列,研發的 ...
  • Redis到底是多線程還是單線程 Redis 6.0版本之前的單線程指的是其網路I/O和鍵值對的讀寫是由一個線程完成的。 多線程在Redis 6.0中的引入是為了改善一些特定場景下的性能問題,特別是在大型多核系統上。Redis 6.0引入了多個I/O線程,這些線程負責處理網路事件的監聽和接收。主線程 ...
  • 基於java圖書商城管理系統設計與實現,網上圖書商城的管理系統,網上商城,線上圖書信息管理系統,上線圖書商城,網上圖書商城,圖書借閱管理系統。 ...
  • 問題回溯 2023年Q2某日運營反饋一個問題,商品系統商家中心某批量工具模板無法下載,導致功能無法使用(因為模板是動態變化的) 商家中心報錯(JSON串): {"code":-1,"msg":"失敗"} 負責的同事看到失敗後立即與我展開討論(因為不是關鍵業務,所以不需要回滾,修複即可),我們發現新功 ...
  • OpenHarmony Meetup 常州站正火熱招募中! 誠邀充滿激情的開發者參與線下盛會~ 探索OpenHarmony前沿科技,暢談未來前景, 感受OpenHarmony生態構建之路的魅力! 線下參與,名額有限,僅限20位幸運者! 報名截止時間為9月26日24:00點,快快行動起來~ 參加Ope ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...