企業實戰LNMP高效能伺服器_phpMyAdmin部署
LNMP WEB架構中,Nginx為一款高效能WEB伺服器,本身是不能處理PHP的,當接收到客戶端瀏覽器傳送HTTP Request請求時,Nginx伺服器響應並處理WEB請求,靜態資源CSS、圖片、影片、TXT等靜態檔案請求,Nginx伺服器可以直接處理並回應。
但是PHP動態頁面請求Nginx不能直接處理,Nginx伺服器會將PHP網頁尾本透過介面傳輸協議(閘道器協議)PHP-FCGI(Fast-CGI)傳輸給PHP-FPM(程式管理程式),PHP-FPM不做處理,然後PHP-FPM呼叫PHP解析器程式,PHP解析器解析PHP指令碼資訊。PHP解析器程式可以啟動多個,可以實現多程式併發執行。
PHP直譯器將解析後的指令碼返回到PHP-FPM,PHP-FPM再透過Fast-CGI的形式將指令碼資訊傳送給Nginx,Nginx伺服器再透過Http Response的形式傳送給瀏覽器,瀏覽器再進行解析與渲染然後進行呈現。
1. 原始碼安裝MySQL5.7.30
1.1 原始碼編譯安裝前準備
1.1.1 因為CentOS系統自帶了mariadb,我們需要把它先解除安裝。
[root@node01 ~]# rpm -qa|grep mariadb
mariadb-server-5.5.60-1.el7_5.x86_64
mariadb-libs-5.5.60-1.el7_5.x86_64
mariadb-5.5.60-1.el7_5.x86_64
[root@node01 ~]#
[root@node01 ~]# yum -y remove mariadb mariadb-server mariadb-libs
1.1.2 建立使用者
[root@node01 ~]# useradd -s /sbin/nologin -M mysql #提示mysql已存在可以忽略此步驟
1.1.3 建立目錄並修改許可權
[root@node01 ~]# mkdir -p /data/mysql
[root@node01 ~]# chown -R mysql.mysql /data
1.1.4 安裝MySQL相關依賴包
[root@node01 ~]# yum install -y gcc gcc-devel gcc-c++ gcc-c++-devel libaio* autoconf* automake* zlib* libxml* ncurses-devel ncurses libgcrypt* libtool* cmake openssl openssl-devel bison bison-devel perl-Data_Dumper boost boost-doc boost-devel
1.1.5 下載原始碼並解壓
[root@node01 ~]# cd /usr/src/
[root@node01 src]# wget
[root@node01 src]# ls
debug kernels mysql-5.7.30.tar.gz
[root@node01 src]# tar xf mysql-5.7.30.tar.gz
[root@node01 src]# cd mysql-5.7.30/
[root@node01 mysql-5.7.30]#
1.1.6 下載boost(5.7版本更新之後有很多變化,比如現在安裝必須要安裝這個boost庫了)
[root@node01 mysql-5.7.30]# mkdir ./boost
[root@node01 mysql-5.7.30]# cd ./boost
[root@node01 boost]# wget
說明:解壓等操作編譯的時候程式會做,這裡只需把包下載或者複製到這裡即可
1.2 原始碼編譯安裝
1.2.1 編譯
[root@node01 boost]# cd ../
[root@node01 mysql-5.7.30]# cmake \
-DBUILD_CONFIG=mysql_release \
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/data/mysql \
-DSYSCONFDIR=/etc \
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock \
-DSYSTEMD_PID_DIR=/data/mysql \
-DMYSQL_USER=mysql \
-DWITH_SYSTEMD=1 \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_MEMORY_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 \
-DMYSQL_TCP_PORT=3306 \
-DENABLED_LOCAL_INFILE=1 \
-DENABLE_DOWNLOADS=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DEXTRA_CHARSETS=all \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_DEBUG=0 \
-DMYSQL_MAINTAINER_MODE=0 \
-DWITH_SSL:STRING=system \
-DWITH_ZLIB:STRING=bundled \
-DDOWNLOAD_BOOST=1 \
-DWITH_BOOST=./boost
1.2.2 編譯引數介紹
cmake \
-DBUILD_CONFIG=mysql_release \ #此選項使用Oracle使用的相同構建選項配置源分發,以生成官方MySQL版本的二進位制分發。
-DCMAKE_BUILD_TYPE=RelWithDebInfo \ #要生成的構建型別 = 啟用最佳化並生成除錯資訊。這是預設的MySQL構建型別。
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ #選項表示基本安裝目錄。
-DMYSQL_DATADIR=/data/mysql \ #MySQL資料目錄的位置。
-DSYSCONFDIR=/etc \ #預設my.cnf選項檔案目錄。
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock \ #伺服器偵聽套接字連線的Unix套接字檔案路徑。這必須是絕對路徑名。預設是/tmp/mysql.sock。
-DSYSTEMD_PID_DIR=/usr/local/mysql \ #當MySQL由systemd管理時,在其中建立PID檔案的目錄的名稱。預設是 /var/run/mysqld; 這可能會根據INSTALL_LAYOUT值隱式更改 。
-DMYSQL_USER=mysql \ #指定MySQL的啟動使用者
-DWITH_SYSTEMD=1 \ #安裝systemd支援檔案
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_MEMORY_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 \
-DMYSQL_TCP_PORT=3306 \ #配置 MySQL 監聽的埠號
-DENABLED_LOCAL_INFILE=1 \ #使mysql客戶端具有load data infile的功能,該功能具有安全隱患 load data infile語句從一個文字檔案中以很高的速度讀入一個表
-DENABLE_DOWNLOADS=1 \ #googlemock發行版的路徑,用於基於Google Test的單元測試。=1,CMake將從GitHub下載發行版。
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DEXTRA_CHARSETS=all \
-DDEFAULT_CHARSET=utf8 \ #伺服器字符集
-DDEFAULT_COLLATION=utf8_general_ci \ #伺服器排序規則
-DWITH_DEBUG=0 \ #不包含除錯支援。
-DMYSQL_MAINTAINER_MODE=0 \ #是否啟用MySQL維護者特定的開發環境。如果啟用,此選項會導致編譯器警告變為錯誤。
-DWITH_SSL:STRING=system \
-DWITH_ZLIB:STRING=bundled \
-DDOWNLOAD_BOOST=1 \ #是否下載Boost庫。預設是OFF。
-DWITH_BOOST=./boost #指定Boost庫目錄位置。
1.2.3 檢視編譯是否有異常
[root@node01 mysql-5.7.30]# echo $? #返回結果為0說明編譯無異常
1.2.4 原始碼安裝
[root@node01 mysql-5.7.30]# make && make install
這個過程比較漫長,耐心等待一下
1.2.5 檢視安裝是否有異常
[root@node01 mysql-5.7.30]# echo $? #返回結果為0說明編譯無異常
1.3 原始碼安裝後配置
1.3.1 新增 systemd 服務控制
[root@node01 mysql-5.7.30]# cp ./scripts/mysqld.service /usr/lib/systemd/system
1.3.2 新增環境變數
[root@node01 mysql-5.7.30]# cat > /etc/profile.d/mysql.sh << EOF
PATH=/usr/local/mysql/bin:$PATH
export PATH
EOF
[root@node01 mysql-5.7.30]# source /etc/profile
1.3.3 空密碼初始化資料庫
[root@node01 mysql-5.7.30]# /usr/local/mysql/bin/mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql
1.3.4 配置啟動MySQL
[root@node01 mysql-5.7.30]# systemctl enable mysqld.service
[root@node01 mysql-5.7.30]# systemctl daemon-reload
[root@node01 mysql-5.7.30]# systemctl start mysqld.service
[root@node01 mysql-5.7.30]# systemctl status mysqld.service
2. 原始碼安裝nginx1.19.0
2.1 安裝依賴包
[root@node01 src]# yum install -y gcc gcc-c++ pcre pcre-devel zlib zlib-devel openssl openssl-devel
依賴包說明:
-
編譯依賴 gcc 環境,所以需要:gcc gcc-c++;
-
PCRE(Perl Compatible Regular Expressions) 是一個Perl庫,包括 perl 相容的正規表示式庫。nginx 的 http 模組使用 pcre 來解析正規表示式,所以需要在 linux 上安裝 pcre 庫,pcre-devel 是使用 pcre 開發的一個二次開發庫,所以需要:pcre pcre-devel ;
-
zlib 庫提供了很多種壓縮和解壓縮的方式, nginx 使用 zlib 對 http 包的內容進行 gzip ,所以需要在 Centos 上安裝 zlib 庫,所以需要:zlib zlib-devel ;
-
OpenSSL 是一個強大的安全套接字層密碼庫,囊括主要的密碼演算法、常用的金鑰和證照封裝管理功能及 SSL 協議,並提供豐富的應用程式供測試或其它目的使用。nginx 不僅支援 http 協議,還支援 https(即在ssl協議上傳輸http),所以需要在 Centos 安裝 OpenSSL 庫,所以需要:openssl openssl-devel ;
2.2 從官網下載安裝包
[root@node01 src]# wget
2.3 解壓並安裝
[root@node01 src]# tar xf nginx-1.19.0.tar.gz
[root@node01 src]# cd nginx-1.19.0/
[root@node01 nginx-1.19.0]# ./configure --prefix=/usr/local/nginx --with-http_stub_status_module
[root@node01 nginx-1.19.0]# echo $?
0
[root@node01 nginx-1.19.0]#
[root@node01 nginx-1.19.0]# make && make install
[root@node01 nginx-1.19.0]# echo $?
0
[root@node01 nginx-1.19.0]#
2.4 新增nginx環境變數
[root@node01 nginx-1.19.0]# cat > /etc/profile.d/nginx.sh << EOF
PATH=/usr/local/nginx/sbin:$PATH
export PATH
EOF
[root@node01 nginx-1.19.0]# source /etc/profile
2.5 測試安裝是否成功
[root@node01 nginx-1.19.0]# nginx -V
nginx version: nginx/1.19.0
built by gcc 4.8.5 20150623 (Red Hat 4.8.5-39) (GCC)
configure arguments: --prefix=/usr/local/nginx --with-http_stub_status_module
[root@node01 nginx-1.19.0]#
2.6 啟動nginx服務
[root@node01 nginx-1.19.0]# nginx
[root@node01 nginx-1.19.0]#
2.7 驗證服務是否啟動成功
[root@node01 nginx-1.19.0]# netstat -ntlp | grep 80
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 23434/nginx: master
[root@node01 nginx-1.19.0]#
2.8 新增nginx服務
[root@node01 nginx-1.19.0]# vi /lib/systemd/system/nginx.service
新增以下內容:
[Unit]
Description=nginx
After=network.target
[Service]
Type=forking
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/usr/local/nginx/sbin/nginx -s reload
ExecStop=/usr/local/nginx/sbin/nginx -s quit
PrivateTmp=true
[Install]
WantedBy=multi-user.target
2.9 以服務的方式啟動nginx
[root@node01 nginx-1.19.0]# pkill nginx
[root@node01 nginx-1.19.0]#
[root@node01 nginx-1.19.0]# systemctl start nginx
2.10 檢視nginx服務是否啟動
[root@node01 nginx-1.19.0]# systemctl status nginx
● nginx.service - nginx
Loaded: loaded (/usr/lib/systemd/system/nginx.service; disabled; vendor preset: disabled)
Active: active (running) since Thu 2020-06-11 03:56:27 CST; 6s ago
Process: 23763 ExecStart=/usr/local/nginx/sbin/nginx (code=exited, status=0/SUCCESS)
Main PID: 23764 (nginx)
Tasks: 2
CGroup: /system.slice/nginx.service
├─23764 nginx: master process /usr/local/nginx/sbin/nginx
└─23765 nginx: worker process
Jun 11 03:56:27 node01 systemd[1]: Starting nginx...
Jun 11 03:56:27 node01 systemd[1]: Started nginx.
[root@node01 nginx-1.19.0]#
[root@node01 nginx-1.19.0]# netstat -ntlp | grep nginx
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 23764/nginx: master
[root@node01 nginx-1.19.0]#
2.11 配置nginx服務自動啟動
[root@node01 nginx-1.19.0]# systemctl enable nginx
Created symlink from /etc/systemd/system/multi-user.target.wants/nginx.service to /usr/lib/systemd/system/nginx.service.
[root@node01 nginx-1.19.0]#
[root@node01 nginx-1.19.0]# systemctl status nginx
● nginx.service - nginx
Loaded: loaded (/usr/lib/systemd/system/nginx.service; enabled; vendor preset: disabled)
Active: active (running) since Thu 2020-06-11 03:56:27 CST; 2min 6s ago
Main PID: 23764 (nginx)
CGroup: /system.slice/nginx.service
├─23764 nginx: master process /usr/local/nginx/sbin/nginx
└─23765 nginx: worker process
Jun 11 03:56:27 node01 systemd[1]: Starting nginx...
Jun 11 03:56:27 node01 systemd[1]: Started nginx.
[root@node01 nginx-1.19.0]#
2.12 使用systemctl管理nginx
[root@node01 nginx-1.19.0]# systemctl start nginx #啟動服務
[root@node01 nginx-1.19.0]# systemctl status nginx #檢視狀態
[root@node01 nginx-1.19.0]# systemctl stop nginx #停止服務
[root@node01 nginx-1.19.0]# systemctl restart nginx #重啟服務
[root@node01 nginx-1.19.0]# systemctl reload nginx #修改配置檔案後過載
[root@node01 nginx-1.19.0]# systemctl enable nginx #開機自啟動
[root@node01 nginx-1.19.0]# systemctl didable nginx #禁止開機自啟動
3.原始碼安裝php5.6.40
3.1 安裝依賴包
[root@node01 ~]# yum -y install gd curl curl-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel
3.2 去官網下載安包裝
[root@node01 src]# wget
3.3 解壓並安裝
[root@node01 src]# tar xf php-5.6.40.tar.gz
[root@node01 src]# cd php-5.6.40/
[root@node01 php-5.6.40]# ./configure --prefix=/usr/local/php \
--enable-fpm \
--enable-debug \
--with-gd \
--with-jpeg-dir \
--with-png-dir \
--with-freetype-dir \
--enable-mbstring \
--with-curl \
--with-mysql=mysqlnd \
--with-mysqli=mysqlnd \
--with-pdo-mysql=mysqlnd \
--with-config-file-path=/usr/local/php/etc \
--with-zlib-dir
[root@node01 php-5.6.40]#
[root@node01 php-5.6.40]# echo $?
0
[root@node01 php-5.6.40]#
[root@node01 php-5.6.40]# make && make install
[root@node01 php-5.6.40]# echo $?
0
[root@node01 php-5.6.40]#
3.4 新增php環境變數
[root@node01 php-5.6.40]# cat > /etc/profile.d/php.sh << EOF
PATH=/usr/local/php/bin/:$PATH
export PATH
EOF
[root@node01 php-5.6.40]# source /etc/profile
3.5 測試安裝是否成功
[root@node01 php-5.6.40]# php -v
PHP 5.6.40 (cli) (built: Jun 11 2020 07:29:14) (DEBUG)
Copyright (c) 1997-2016 The PHP Group
Zend Engine v2.6.0, Copyright (c) 1998-2016 Zend Technologies
[root@node01 php-5.6.40]#
3.6 複製模板檔案
[root@node01 php-5.6.40]# cp php.ini-development /usr/local/php/etc/php.ini
[root@node01 php-5.6.40]# cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf
[root@node01 php-5.6.40]# cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
[root@node01 php-5.6.40]# chmod +x /etc/init.d/php-fpm
3.7 建立nginx使用者並修改php-fpm的使用者為nginx
[root@node01 php-5.6.40]# useradd -s /sbin/nologin -m nginx
[root@node01 php-5.6.40]# cp /usr/local/php/etc/php-fpm.conf{,.bak}
[root@node01 php-5.6.40]#
[root@node01 php-5.6.40]# vi /usr/local/php/etc/php-fpm.conf
[root@node01 php-5.6.40]#
[root@node01 php-5.6.40]# egrep "^(user|group)" /usr/local/php/etc/php-fpm.conf
user = nginx
group = nginx
[root@node01 php-5.6.40]#
3.8 新增php-fpm服務
3.8.1 修改php-fpm.conf
開啟php-fpm.conf
[root@node01 php-5.6.40]# vi /usr/local/php/etc/php-fpm.conf
找到以下內容並修改:
; Pid file
; Note : the default prefix is / usr / local / php / var
; Default Value : none
pid = / var / run / php - fpm .pid
3.8.2 新建php-fpm服務檔案
vi /usr/lib/systemd/system/php-fpm.service
新增如下內容:
[ Unit]
Description = The PHP FastCGI Process Manager
After = syslog. target network. target
[ Service]
Type = forking
PIDFile =/ var / run / php - fpm. pid
ExecStart =/ usr / local / php / sbin / php - fpm
ExecReload =/ bin / kill - USR2 $MAINPID
PrivateTmp = true
[ Install]
WantedBy = multi - user. target
3.9 以服務的方式啟動php-fpm
[root@node01 php-5.6.40]# systemctl daemon-reload
[root@node01 php-5.6.40]# systemctl start php-fpm
[root@node01 php-5.6.40]#
3.10 檢視php-fpm服務是否啟動
[root@node01 php-5.6.40] # systemctl status php-fpm
● php-fpm.service - The PHP FastCGI Process Manager
Loaded: loaded (/usr/lib/systemd/system/php-fpm.service; disabled; vendor preset: disabled)
Active: active (running) since Thu 2020 -06-11 08:02:38 CST; 4min 47s ago
Process: 21478 ExecStart =/usr/local/php/sbin/php-fpm (code =exited, status = 0/SUCCESS)
Main PID: 21481 (php-fpm)
Tasks: 3
CGroup: /system.slice/php-fpm.service
├─21481 php-fpm: master process (/usr/local/php/etc/php-fpm.conf)
├─21482 php-fpm: pool www
└─21483 php-fpm: pool www
Jun 11 08:02:38 node01 systemd[1]: Starting The PHP FastCGI Process Manager...
Jun 11 08:02:38 node01 systemd[1]: Started The PHP FastCGI Process Manager.
[root@node01 php-5.6.40] #
[root@node01 php-5.6.40] # netstat -ntlp | grep 9000
tcp 0 0 127.0.0.1:9000 0.0.0.0:* LISTEN 21481/php-fpm: mast
[root@node01 php-5.6.40] #
3.11 配置php-fpm服務自動啟動
[root@node01 php-5.6.40]# systemctl enable php-fpm
Created symlink from /etc/systemd/system/multi-user.target.wants/php-fpm.service to /usr/lib/systemd/system/php-fpm.service.
[root@node01 php-5.6.40]#
[root@node01 php-5.6.40]# systemctl status php-fpm
● php-fpm.service - The PHP FastCGI Process Manager
Loaded: loaded (/usr/lib/systemd/system/php-fpm.service; enabled; vendor preset: disabled)
Active: active (running) since Thu 2020-06-11 08:02:38 CST; 7min ago
Main PID: 21481 (php-fpm)
CGroup: /system.slice/php-fpm.service
├─21481 php-fpm: master process (/usr/local/php/etc/php-fpm.conf)
├─21482 php-fpm: pool www
└─21483 php-fpm: pool www
Jun 11 08:02:38 node01 systemd[1]: Starting The PHP FastCGI Process Manager...
Jun 11 08:02:38 node01 systemd[1]: Started The PHP FastCGI Process Manager.
[root@node01 php-5.6.40]#
3.12 使用systemctl管理php-fpm
[root@node01 php-5.6.40] # systemctl start php-fpm #啟動服務
[root@node01 php-5.6.40] # systemctl status php-fpm #檢視狀態
[root@node01 php-5.6.40] # systemctl stop php-fpm #停止服務
[root@node01 php-5.6.40] # systemctl restart php-fpm #重啟服務
[root@node01 php-5.6.40] # systemctl reload php-fpm #修改配置檔案後過載
[root@node01 php-5.6.40] # systemctl enable php-fpm #開機自啟動
[root@node01 php-5.6.40] # systemctl didable php-fpm #禁止開機自啟動
4. 原始碼安裝phpMyAdmin4.9.5
phpMyAdmin 是一個用PHP編寫的軟體工具,可以透過web方式控制和操作MySQL資料庫。透過phpMyAdmin可以完全對資料庫進行操作,例如建立、複製和刪除資料等等。如果使用合適的工具,MySQL資料庫的管理就會變得相當簡單。MySQL 命令列方式需要對 MySQL 知識非常熟悉,對SQL語言也是同樣的道理。不僅如此,如果資料庫的訪問量很大,列表中資料的讀取就會相當困難。
當前出現很多GUI MySQL客戶程式,其中最為出色的是基於 Web 的phpMyAdmin 工具。這是一種MySQL資料庫前臺的基於PHP的工具。
PhpMyAdmin 的缺點是必須安裝在 Web 伺服器中,所以如果沒有合適的訪問許可權,其它使用者有可能損害到 SQL 資料。
4.1 原始碼包下載
在官網 下載phpMyAdmin原始碼包phpMyAdmin-4.9.5-all-languages.zip
[root@node01 src]# wget
4.2 phpMyAdmin配置
4.2.1 解壓檔案
解壓phpMyAdmin-4.9.5-all-languages.zip到nginx的DocumentRoot目錄(/usr/local/nginx/html)中
[root@node01 src]# unzip phpMyAdmin-4.9.5-all-languages.zip -d /usr/local/nginx/html/
[root@node01 src]# mv /usr/local/nginx/html/phpMyAdmin-4.9.5-all-languages /usr/local/nginx/html/phpMyAdmin
[root@node01 src]# chown -R nginx:nginx /usr/local/nginx/html/phpMyAdmin/
[root@node01 src]#
4.2.2 複製phpMyAdmin的簡單配置檔案config.sample.inc.php,作為預設配置檔案
[root@node01 src]# cp /usr/local/nginx/html/phpMyAdmin/config.sample.inc.php /usr/local/nginx/html/phpMyAdmin/config.inc.php
[root@node01 src]#
4.2.3 編輯配置檔案config.inc.php
[root@node01 src]# vim /usr/local/nginx/html/phpMyAdmin/config.inc.php
$cfg['Servers'][$i]['host'] = '127.0.0.1'; -----設定
4.3 myslq資料庫配置
4.3.1 啟動資料庫服務
[root@node01 src]# systemctl start mysqld
4.3.2 設定資料庫root密碼
[root@node01 src]# mysqladmin -uroot password '123456'
mysqladmin: [Warning] Using a password on the command line interface can be insecure.
Warning: Since password will be sent to server in plain text, use ssl connection to ensure password safety.
[root@node01 src]#
[root@node01 src]# mysql -uroot -p123456
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 59
Server version: 5.7.30 MySQL Community Server (GPL)
Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>
4.4 nginx配置及啟動
#配置phpMyAdmin
[root@node01 src]# vi /usr/local/nginx/conf/nginx.conf
#user nobody;
user nginx;
worker_processes 1;
#error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;
#pid logs/nginx.pid;
pid /var/run/nginx.pid;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log logs/access.log main;
sendfile on;
#tcp_nopush on;
#keepalive_timeout 0;
keepalive_timeout 65;
#gzip on;
server {
listen 80;
server_name localhost;
#charset koi8-r;
access_log logs/phpMyAdmin.access.log main;
location / {
root html;
index index.php index.html index.htm;
}
#error_page 404 /404.html;
# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
# proxy the PHP scripts to Apache listening on 127.0.0.1:80
#
#location ~ \.php$ {
# proxy_pass
#}
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
location ~ \.php$ {
root html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
# deny access to .htaccess files, if Apache's document root
# concurs with nginx's one
#
#location ~ /\.ht {
# deny all;
#}
}
# another virtual host using mix of IP-, name-, and port-based configuration
#
#server {
# listen 8000;
# listen somename:8080;
# server_name somename alias another.alias;
# location / {
# root html;
# index index.html index.htm;
# }
#}
# HTTPS server
#
#server {
# listen 443 ssl;
# server_name localhost;
# ssl_certificate cert.pem;
# ssl_certificate_key cert.key;
# ssl_session_cache shared:SSL:1m;
# ssl_session_timeout 5m;
# ssl_ciphers HIGH:!aNULL:!MD5;
# ssl_prefer_server_ciphers on;
# location / {
# root html;
# index index.html index.htm;
# }
#}
}
[root@node01 src]# systemctl start nginx
4.5 測試
4.5.2 用root使用者登入
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/291614/viewspace-2698167/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 企業實戰LNMP高效能伺服器_wordpress、discuz雙網站部署LNMP伺服器網站
- 企業實戰LNMP+redis高效能伺服器LNMPRedis伺服器
- 企業DNS伺服器部署DNS伺服器
- 伺服器 (Ubuntu 20.04) 手動部署 LNMP伺服器UbuntuLNMP
- Linux 企業實戰篇Linux
- Docker、Jenkins企業實戰DockerJenkins
- LNMP組合詳解與實戰LNMP
- 伺服器後端開發系列——《實戰Nginx高效能Web伺服器》伺服器後端NginxWeb
- 阿里雲企業級高效能雲伺服器優惠5折阿里伺服器
- docker部署LNMP架構DockerLNMP架構
- 通過docker部署lnmpDockerLNMP
- LNMP部署及應用LNMP
- 小白折騰伺服器(一):docker 搭建 lnmp+ 使用 deployer 部署伺服器DockerLNMP
- LNMP自動部署指令碼LNMP指令碼
- 企業私有npm部署和實現npm釋出NPM
- Linux伺服器—phpMyAdminLinux伺服器PHP
- Linux伺服器---phpMyAdminLinux伺服器PHP
- 企業級微信小程式實戰詳解微信小程式
- 高效能MySQL實戰(二):索引MySql索引
- MySQL MHA部署實戰MySql
- LNMP架構介紹與部署LNMP架構
- Zabbixserver環境部署(LNMP+ZABBIX)ServerLNMP
- YUM部署高版本LNMP環境LNMP
- Linux之DNS伺服器實戰:部署本地正解反解DNS伺服器,部署主從伺服器,DNS_View檢視實驗LinuxDNS伺服器View
- 體驗iptables 企業級的防火牆實戰防火牆
- Zabbix 4.0企業級分散式監控實戰分散式
- 企業級大資料中臺架構實戰大資料架構
- WinForm企業級框架實戰專案演練ORM框架
- ELKStack及Solr企業級搜尋引擎實戰Solr
- OpenAI Assistants API 企業級應用實戰OpenAIAPI
- 哪些企業正在使用雲伺服器及其面臨的挑戰伺服器
- LNMP部署laravel與xhprof安裝使用LNMPLaravel
- Ubuntu 16 下部署 Laravel LNMP 環境UbuntuLaravelLNMP
- 41.部署LNMP平臺原始碼LNMP原始碼
- OpenFaaS實戰之一:部署
- 京東NLP企業級專案實戰訓練營
- 企業級大資料中臺架構實戰【1】大資料架構
- 企業級大資料中臺架構實戰【3】大資料架構