LNMP環境是一種常用于搭建Web伺服器的軟體組合,其中L代表Linux作業系統,N代表Nginx Web伺服器,M代表MySQL資料庫,P代表PHP程式設計語言。
LNMP環境具有以下優點:
1. 高性能:Nginx是一個高性能的Web伺服器,可以處理大量并發請求,而MySQL也是一個高性能的關系型資料庫。
2. 穩定性:LNMP環境基于Linux作業系統,是以具有良好的穩定性和可靠性。
3. 安全性:Nginx具有高度的安全性和可靠性,可以有效地保護Web伺服器免受攻擊。
4. 易用性:LNMP環境非常易于使用和配置,可以快速搭建一個強大的Web伺服器。
LNMP環境通常用于搭建各種類型的Web應用程式,例如電子商務網站、社交媒體平台、部落格、論壇等。它也是許多網際網路公司和Web開發人員使用的首選環境之一。
1 安裝包版本以及下載下傳位址
mysql5.6.31、nginx1.10.1、php5.6.30
軟體版本稍微有點舊,幾年前寫的文檔,不過編譯安裝的方式都差不多。
軟體下載下傳位址:
https://wangxuejin-data-1252194948.cos.ap-shanghai.myqcloud.com/nginx-1.10.1.tar.gz
https://wangxuejin-data-1252194948.cos.ap-shanghai.myqcloud.com/mysql-5.6.31.tar.gz
https://wangxuejin-data-1252194948.cos.ap-shanghai.myqcloud.com/php-5.6.30.tar.gz
2 安裝nginx
2.1 安裝依賴環境
[root@55cea6de73cb ]# yum install gcc gcc-c++ openssl openssl-devel pcre pcre-devel zlib zlib-devel -y
2.2 解壓nginx壓縮包
[root@2df7fb5c5f50 opt]# tar xf nginx-1.10.1.tar.gz
2.3 配置nginx
[root@2df7fb5c5f50 ]# ./configure --prefix=/usr/local/nginx --with-http_ssl_module
沒有報錯表示配置成功
2.4 編譯并安裝
[root@2df7fb5c5f50 opt]# make && make install
沒有報錯表示安裝成功
2.5 啟動nginx服務
[root@2df7fb5c5f50 opt]# /usr/local/nginx/sbin/nginx
檢視監聽端口
2.6 通路nginx首頁
本地虛拟機先關閉防火牆,雲伺服器開放80端口即可
出現如上表示nginx安裝成功
增加環境變量友善啟動
[root@2df7fb5c5f50 opt]# echo "export PATH=$PATH:/usr/local/nginx/sbin" >>/etc/profile
//立即生效
[root@2df7fb5c5f50 opt]# source /etc/profile
//重新開機nginx服務測試
[root@2df7fb5c5f50 opt]# nginx -s reload
3 安裝mysql資料庫
3.1 解壓mysql安裝包
[root@2df7fb5c5f50 opt]# tar xf mysql-5.6.31.tar.gz
3.2 安裝依賴環境
[root@2df7fb5c5f50 opt]# yum install -y cmake bison bison-devel libaio-devel gcc gcc-c++ git ncurses-devel
3.3配置mysql
[root@2df7fb5c5f50 mysql-5.6.31]# cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/usr/local/mysql/data
指定安裝目錄和資料存儲目錄
出現如下表示配置成功
3.4 編譯并安裝mysql
[root@2df7fb5c5f50 mysql-5.6.31]# make && make install
出現如下沒有報錯表示安裝成功
3.5 初始化配置mysql
[root@2df7fb5c5f50 mysql-5.6.31]# cd /usr/local/mysql/
[root@2df7fb5c5f50 mysql]# useradd -s /sbin/nologin mysql
3.6 修改權限,目前目錄授權給mysql使用者
[root@2df7fb5c5f50 mysql]# chown mysql.mysql -R .
3.7 安裝mysql系統表
[root@2df7fb5c5f50 mysql]# rm -f /etc/my.cnf 删除系統自帶的my.cnf配置檔案
[root@2df7fb5c5f50 mysql]# ./scripts/mysql_install_db --user=mysql
出現如下表示安裝成功
3.8複制配置檔案到/etc/下
[root@2df7fb5c5f50 mysql]# cp support-files/my-default.cnf /etc/my.cnf
3.9以完整路徑啟動mysql資料庫
[root@2df7fb5c5f50 mysql]# /usr/local/mysql/bin/mysqld_safe --user=mysql &
[1] 26282
[root@2df7fb5c5f50 mysql]# 190805 07:45:58 mysqld_safe Logging to '/usr/local/mysql/data/2df7fb5c5f50.err'.
190805 07:45:59 mysqld_safe Starting mysqld daemon with databases from /usr/local/mysql/data
3.10 檢視程序是否啟動成功
3.11 複制服務程序到/etc/init.d/下
[root@2df7fb5c5f50 mysql]# cp support-files/mysql.server /etc/init.d/mysqld
重新開機服務
[root@2df7fb5c5f50 mysql]# /etc/init.d/mysqld restart
Shutting down MySQL..190805 07:47:52 mysqld_safe mysqld from pid file /usr/local/mysql/data/2df7fb5c5f50.pid ended
SUCCESS!
Starting MySQL. SUCCESS!
- + Done /usr/local/mysql/bin/mysqld_safe --user=mysql
3.12 配置環境變量
[root@2df7fb5c5f50 mysql]# echo "export PATH=$PATH:/usr/local/mysql/bin" >>/etc/profile
生效
[root@2df7fb5c5f50 mysql]# source /etc/profile
3.13 第一次登陸沒有密碼需要設定mysql密碼
[root@2df7fb5c5f50 mysql]# mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 1
Server version: 5.6.31 Source distribution
Copyright (c) 2000, 2016, 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>
//修改root密碼
mysql> use mysql;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
mysql> update mysql.user set password=password('Aa123456') where user='root';
Query OK, 4 rows affected (0.00 sec)
Rows matched: 4 Changed: 4 Warnings: 0
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
至此mysql資料庫安裝成功
4 安裝php
4.1 安裝依賴環境
[root@2df7fb5c5f50 opt]# yum install -y gcc gcc-c++ libxml2 libxml2-devel autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel
4.2 解壓php安裝包
[root@2df7fb5c5f50 opt]# tar xf php-5.6.30.tar.gz
4.3 配置php
[root@2df7fb5c5f50 php-5.6.30]# ./configure --prefix=/usr/local/php-fpm --enable-fpm --with-zlib --with-pdo-mysql --enable-mbstring --with-gd --with-png-dir=/usr/lib64 --with-jpeg-dir=/usr/lib64 --with-freetype-dir=/usr/lib64 --with-mysql-sock=/tmp/mysql.sock --with-mysqli=/usr/local/mysql/bin/mysql_config
出現如下表示編譯成功
4.4 編譯并安裝
[root@2df7fb5c5f50 php-5.6.30]# make && make install
出現如下提示表示安裝成功
4.5 修改配置檔案名字
[root@2df7fb5c5f50 php-5.6.30]# cd /usr/local/php-fpm/etc/
[root@2df7fb5c5f50 etc]# cp php-fpm.conf.default php-fpm.conf
4.6 配置php的配置檔案
[root@2df7fb5c5f50 etc]# vim php-fpm.conf
4.7 修改使用者和使用者組為web
啟動服務
[root@2df7fb5c5f50 etc]# useradd -s /sbin/nologin web
[root@2df7fb5c5f50 etc]# /usr/local/php-fpm/sbin/php-fpm
設定php-fpm服務友善啟動
[root@2df7fb5c5f50 /]# cp /opt/php-5.6.30/sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
4.8 檢查服務是否啟動
至此PHP服務安裝完成
5 nginx開啟支援php
[root@2df7fb5c5f50 conf]# vim /usr/local/nginx/conf/nginx.conf
45行增加index.php
65-71行去掉注釋,修改fastcgi_param這一行
6 測試
[root@2df7fb5c5f50 conf]# vim /usr/local/nginx/html/index.php
打開網頁測試看是否能解析php語言
至此LNMP安裝完成
至此centos7編譯安裝LNMP環境結束,有不對的地方希望不吝賜教,歡迎在評論區留言,分享你的看法。