Ubuntu安裝配置MySQL、Python、Nginx的詳細(xì)過程
MySQL 數(shù)據(jù)庫
判斷是否安裝了 MySQL
sudo systemctl status mysql
如果 MySQL 已安裝并正在運(yùn)行,你會(huì)看到類似以下的輸出:
● mysql.service - MySQL Community Server Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: enabled) Active: active (running) since ...
如果沒有安裝 MySQL,系統(tǒng)會(huì)提示類似以下信息:
Unit mysql.service could not be found.
安裝 MySQL
- 安裝 MySQL 服務(wù)器
sudo apt-get install mysql-server
- 開啟 MySQL 服務(wù)
sudo service mysql start
- 確認(rèn) MySQL 服務(wù)是否開啟
# 檢查 MySQL 服務(wù)狀態(tài) sudo service mysql status # 或者通過 netstat 查看 MySQL 監(jiān)聽端口 sudo netstat -tap | grep mysql
- 連接到 MySQL 數(shù)據(jù)庫
# 使用 root 用戶連接 MySQL 數(shù)據(jù)庫 mysql -u root -p # 如果沒有設(shè)置密碼,直接回車進(jìn)入
- 查詢用戶信息
USE mysql; # 查詢用戶信息 SELECT host, user, plugin, authentication_string FROM user;
- 如果 host 為 localhost,表示只能從本機(jī)訪問。
- 如果 plugin 不是 mysql_native_password,需要修改認(rèn)證方式。
- 修改 root 用戶的密碼
# 修改 root 用戶的密碼,并設(shè)置認(rèn)證方式為 mysql_native_password ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的新密碼'; # 刷新權(quán)限 FLUSH PRIVILEGES;
- 允許遠(yuǎn)程訪問 MySQL
# 將 host 從 localhost 修改為 %,允許通過 Navicat 等工具遠(yuǎn)程連接 UPDATE mysql.user SET host='%' WHERE user='root'; # 刷新權(quán)限 FLUSH PRIVILEGES;
- 修改 MySQL 配置文件
# 編輯 MySQL 配置文件 sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf # 注釋或修改以下配置項(xiàng): # bind-address = 127.0.0.1 # mysqlx-bind-address = 127.0.0.1
- 重啟 MySQL 服務(wù)
# 重啟 MySQL 服務(wù)以應(yīng)用配置更改 sudo systemctl restart mysql
- 檢查 MySQL 監(jiān)聽狀態(tài)
# 檢查 MySQL 是否監(jiān)聽了 0.0.0.0:3306 sudo netstat -ntlp | grep mysql
解決 Navicat 無法遠(yuǎn)程連接的問題
- 確保 MySQL 配置文件中 bind-address 和 mysqlx-bind-address 已注釋或修改為 0.0.0.0。
- 重啟 MySQL 服務(wù)。
- 檢查防火墻是否允許 MySQL 的端口(默認(rèn) 3306)。
# 檢查防火墻狀態(tài) sudo ufw status # 如果需要開放 3306 端口 sudo ufw allow 3306
通過上述步驟,您應(yīng)該可以成功安裝 MySQL,并解決 Navicat 無法遠(yuǎn)程連接的問題。如果仍有問題,請(qǐng)檢查網(wǎng)絡(luò)連接或防火墻設(shè)置。
Python
判斷是否已安裝 Python
Python 有兩種主要版本:Python 2 和 Python 3。通常,Ubuntu 系統(tǒng)默認(rèn)會(huì)安裝 Python 3,但從 Ubuntu 20.04 開始,Python 2 已被棄用。
- 檢查 Python 3 是否已安裝:
python3 --version
如果輸出類似以下內(nèi)容,說明 Python 3 已安裝:Python 3.8.10
如果未安裝,會(huì)顯示類似以下錯(cuò)誤:Command 'python3' not found
- 檢查 Python 2 是否已安裝:
python --version
如果輸出類似以下內(nèi)容,說明 Python 2 已安裝:Python 2.7.18
如果未安裝,會(huì)顯示類似以下錯(cuò)誤:Command 'python' not found
安裝 Python 3
sudo apt update sudo apt install python3 python3-pip
- python3 是 Python 3 的主程序。
- python3-pip 是 Python 的包管理工具,用于安裝第三方庫。
驗(yàn)證安裝安裝完成后,再次運(yùn)行以下命令驗(yàn)證:
python3 --version pip3 --version
Nginx
檢查是否已安裝 Nginx
方法 1:使用命令行檢查運(yùn)行以下命令檢查 Nginx 是否已安裝:
nginx -v
如果已安裝,會(huì)輸出類似以下內(nèi)容:nginx: version: 1.26.1
如果沒有安裝,會(huì)提示:nginx: command not found
方法 2:檢查 Nginx 服務(wù)狀態(tài)運(yùn)行以下命令查看 Nginx 服務(wù)狀態(tài):
sudo systemctl status nginx
如果 Nginx 已安裝并正在運(yùn)行,會(huì)顯示類似以下內(nèi)容:
nginx.service - A high performance web server and a reverse proxy server Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled) Active: active (running) since Mon 2024-10-07 12:00:00 UTC; 1h 30min ago
如果未安裝或未運(yùn)行,會(huì)顯示:
nginx.service - A high performance web server and a reverse proxy server Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled) Active: inactive (dead)
從 Ubuntu 默認(rèn)源安裝
- 更新包管理器的緩存:
sudo apt update
- 安裝 Nginx:
sudo apt install nginx
- 啟動(dòng) Nginx 服務(wù):
sudo systemctl start nginx
- 設(shè)置開機(jī)自啟:
sudo systemctl enable nginx
- 安裝完成后,可以通過以下命令驗(yàn)證 Nginx 是否正常運(yùn)行:
sudo systemctl status nginx
- 在瀏覽器中訪問 http://localhost,如果看到 Nginx 的默認(rèn)歡迎頁面,說明安裝成功.
# 默認(rèn)為80端口,若為其他端口,則開放相應(yīng)端口 # 例: 開放8000端口 sudo ufw allow 8000/tcp
- 修改配置
# 在server{}節(jié)點(diǎn)修改 vim /etc/nginx/sites-enabled/default
配置示例:
server { listen 8000 ssl; server_name ceshi.mrccoss.com; # 證書配置 ssl_certificate /etc/nginx/cert/ceshi.mrccoss.com_cert_chain.pem; ssl_certificate_key /etc/nginx/cert/ceshi.mrccoss.com_key.key; ssl_session_cache shared:SSL:1m; ssl_session_timeout 10m; ssl_ciphers HIGH:!aNULL:!MD5; ssl_prefer_server_ciphers on; location / { proxy_pass http://127.0.0.1:8001; # 轉(zhuǎn)發(fā)的地址,即Gunicorn運(yùn)行的地址 proxy_redirect off; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; client_max_body_size 100M; # 客戶端請(qǐng)求體大小限制 # 允許http://example.com跨域訪問 add_header 'Access-Control-Allow-Origin' '*'; # 允許的HTTP方法 add_header 'Access-Control-Allow-Methods' 'GET, POST, PUT, DELETE, OPTIONS'; # 允許的自定義請(qǐng)求頭 add_header 'Access-Control-Allow-Headers' 'Content-Type, Authorization, X-Requested-With'; # 允許攜帶Cookie(如果需要) add_header 'Access-Control-Allow-Credentials' 'true'; } location /static { alias /usr/file/images/; expires 30d; client_max_body_size 100M; # 客戶端請(qǐng)求體大小限制 } }
- 檢查配置是否正確
nginx -t
- 修改配置文件后重新加載
service nginx reload
總結(jié)
到此這篇關(guān)于Ubuntu安裝配置MySQL、Python、Nginx的文章就介紹到這了,更多相關(guān)Ubuntu安裝配置MySQL、Python、Nginx內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- Ubuntu?22.04?服務(wù)器安裝部署(nginx+postgresql)
- 安裝Ubuntu和ssh遠(yuǎn)程連接的設(shè)置方式
- Ubuntu上安裝Docker及可視化管理工具的流程步驟
- ubuntu安裝dotnet的方法
- Ubuntu系統(tǒng)中Redis的安裝步驟及服務(wù)配置詳解
- Ubuntu安裝MariaDB的具體步驟記錄
- 如何在ubuntu18.04安裝node?14.16.0
- Ubuntu24.04LTS在線安裝Docker引擎的詳細(xì)過程
- VMware虛擬機(jī)安裝Ubuntu20.04詳細(xì)教程(最新推薦)
- 在linux中安裝nginx及在樹莓派ubuntu中安裝nginx的方法
- ubuntu安裝golang并設(shè)置goproxy的方法步驟
- Ubuntu安裝MySQL的三種方式以及卸載MySQL
- ubuntu20.04安裝unity-tweak-tools啟動(dòng)時(shí)遇到錯(cuò)誤的解決
- 在Ubuntu?Server?22.04上安裝?Docker的詳細(xì)步驟記錄
- Ubuntu?22.04或20.04安裝Oracle?SQL?Developer的圖文教程
- Ubuntu?Server?22.04.5?入門篇:詳盡安裝部署指南
相關(guān)文章
python聚類算法解決方案(rest接口/mpp數(shù)據(jù)庫/json數(shù)據(jù)/下載圖片及數(shù)據(jù))
這篇文章主要介紹了python聚類算法解決方案(rest接口/mpp數(shù)據(jù)庫/json數(shù)據(jù)/下載圖片及數(shù)據(jù)),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-08-08python多線程+代理池爬取天天基金網(wǎng)、股票數(shù)據(jù)過程解析
這篇文章主要介紹了python多線程+代理池爬取天天基金網(wǎng)、股票數(shù)據(jù)過程解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-08-08python基于tkinter制作下班倒計(jì)時(shí)工具
這篇文章主要介紹了python基于tkinter制作倒計(jì)時(shí)工具的方法,幫助大家更好的理解和學(xué)習(xí)使用python,感興趣的朋友可以了解下2021-04-04python list格式數(shù)據(jù)excel導(dǎo)出方法
今天小編就為大家分享一篇python list格式數(shù)據(jù)excel導(dǎo)出方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-10-10Python使用matplotlib給柱狀圖添加數(shù)據(jù)標(biāo)簽bar_label()
這篇文章主要介紹了Python使用matplotlib給柱狀圖添加數(shù)據(jù)標(biāo)簽bar_label(),記錄如何用使用matplotlib給柱狀圖添加數(shù)據(jù)標(biāo)簽,是以matplotlib.pyplot.bar_label()為例,需要的朋友可以參考一下2022-03-03詳解Selenium-webdriver繞開反爬蟲機(jī)制的4種方法
這篇文章主要介紹了詳解Selenium-webdriver繞開反爬蟲機(jī)制的4種方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-10-10Python中subprocess模塊用法實(shí)例詳解
這篇文章主要介紹了Python中subprocess模塊用法,實(shí)例分析了subprocess模塊的相關(guān)使用技巧,需要的朋友可以參考下2015-05-05Django框架之登錄后自定義跳轉(zhuǎn)頁面的實(shí)現(xiàn)方法
這篇文章主要介紹了Django框架之登錄后自定義跳轉(zhuǎn)頁面的實(shí)現(xiàn)方法,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-07-07