一、安裝前
1. 更新系統軟件:
yum update
2. 查看是否已安裝wget:
rpm -qa wget
否則安裝:
yum install wget
3. 查看是否已安裝編譯器:
rpm -qa gcc
否則安裝:
yum install gcc gcc-c++
4.安裝git
yum install git
5.克隆事先準備好的lnmp軟件:包括
二、安裝Nginx
1. 安裝nginx依賴包
nginx的Rewrite模塊和HTTP核心模塊會使用到PCRE正則表達式語法:
yum -y install pcre pcre-devel
nginx的各種模塊中需要使用gzip壓縮:
yum -y install zlib zlib-devel
安全套接字層密碼庫:
yum -y install openssl openssl-devel
2. 下載nginx包並解壓(到/usr/local/src目錄中)
cd /home/linux_software
tar -zxvf nginx-v.tar.gz
3. 編譯安裝(到/usr/local/lnmp/nginx目錄中)
cd nginx-v
./configure --prefix=/usr/local/lnmp/nginx --with-http_ssl_module
make && make install
4. 創建並設置nginx運行賬號:
groupadd nginx
useradd -M -g nginx -s /sbin/nologin nginx
cd /usr/local/lnmp/nginx/conf
vim nginx.conf,設置user參數如下:
user nginx nginx
其他配置參數暫時無需改動。
5. 設置nginx爲系統服務
vim /lib/systemd/system/nginx.service
文件內容:
[Unit]
Description=nginx
After=network.target
[Service]
Type=forking
ExecStart=/usr/local/lnmp/nginx/sbin/nginx
ExecReload=/usr/local/lnmp/nginx/sbin/nginx -s reload
ExecStop=/usr/local/lnmp/nginx/sbin/nginx -s stop
PrivateTmp=true
[Install]
WantedBy=multi-user.target
6. 設置nginx開機自啓動
systemctl enable nginx.service
7. 開啓nginx服務:
systemctl start nginx.service
查看nginx是否啓動成功:
ps aux | grep nginx
在虛擬機瀏覽器中訪問測試:
http://localhost
出現以下界面則表示可以成功訪問:
8. 防火牆開放80端口(nginx默認使用80端口,可在nginx.conf中配置,若無需進行遠程訪問則不需要開放端口)
永久開放80端口:
firewall-cmd --zone=public --add-port=80/tcp --permanent
重啓防火牆:
firewall-cmd --reload
查看防火牆開啓狀態:
systemctl status firewalld
查看80端口是否開放成功:
firewall-cmd --zone=public --query-port=80/tcp
可在windows宿主主機瀏覽器直接訪問虛擬機ip測試是否可以成功訪問。
三、安裝Mysql
1. 卸載已有mysql
查看是否已安裝mysql:
rpm -qa mysql
有則卸載:
rpm -e --nodeps 文件名稱
是否存在與mysql相關的文件或目錄:
whereis mysql
是則刪除。
查看是否存在mariadb:
rpm -qa | grep mariadb
存在則卸載:
rpm -e --nodeps 文件名 //文件名是上一個命令查詢結果
存在/etc/my.cnf,則需要先刪除:
rm /etc/my.cnf
2. 安裝編譯mysql需要的依賴包
yum install libevent* libtool* autoconf* libstd* ncurse* bison* openssl*
3. 安裝cmake(mysql5.5之後需要用cmake支持編譯安裝)
查看是否已安裝cmake:
rpm -qa cmake
沒有則下載編譯安裝:
cd /home/linux_software
tar -xf cmake-v.tar.gz
cd cmake-v
./configure
make && make install
檢查cmake是否安裝成功:
cmake --version
4. 下載mysql包並解壓(到/usr/local/src目錄)
cd /home/linux_software
tar -zxvf mysql-v.tar.gz
5. 編譯安裝(到/usr/local/lnmp/mysql目錄)
cd mysql-5.6.38
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/lnmp/mysql -DMYSQL_DATADIR=/usr/local/lnmp/mysql/data -DSYSCONFDIR=/etc -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DMYSQL_UNIX_ADDR=/var/lib/mysql/mysql.sock -DMYSQL_TCP_PORT=3306 -DENABLED_LOCAL_INFILE=1 -DWITH_PARTITION_STORAGE_ENGINE=1 -DEXTRA_CHARSETS=all -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci
make(此過程需花費大概20-30分鐘)
make install
6. 配置mysql
groupadd mysql
useradd -M -g mysql -s /sbin/nologin mysql
chown -R mysql:mysql /usr/local/lnmp/mysql
7. 初始化配置
cd /usr/local/lnmp/mysql/scripts
./mysql_install_db --basedir=/usr/local/lnmp/mysql --datadir=/usr/local/lnmp/mysql/data --user=mysql
8. 設置mysql爲系統服務
vim /lib/systemd/system/mysql.service
文件內容:
[Unit]
Description=mysql
After=network.target
[Service]
Type=forking
ExecStart=/usr/local/lnmp/mysql/support-files/mysql.server start
ExecStop=/usr/local/lnmp/mysql/support-files/mysql.server stop
ExecRestart=/usr/local/lnmp/mysql/support-files/mysql.server restart
ExecReload=/usr/local/lnmp/mysql/support-files/mysql.server reload
PrivateTmp=true
[Install]
WantedBy=multi-user.target
9. 設置mysql服務開機自啓動
systemctl enable mysql.service
10. 啓動mysql
systemctl start mysql.service
若是啓動失敗:
直接使用/usr/local/mysql/support-files/mysql.server restart啓動可以看到詳細錯誤原因:
若是這個原因,/var/lib/mysql這個目錄(用於存放mysql.sock)不存在的話,手動創建就好了:
mkdir /var/lib/mysql
chown -R mysql:mysql /var/lib/mysql
再次啓動,成功了!
查看是否啓動成功:
ps aux | grep mysql
11. 登錄mysql並設置root密碼:
/usr/local/lnmp/mysql/bin/mysql -u root
set password=password('123456');
四、安裝PHP
1. 安裝php依賴包
yum install libxml2 libxml2-devel openssl openssl-devel bzip2 bzip2-devel libcurl libcurl-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel gmp gmp-devel libmcrypt libmcrypt-devel readline readline-devel libxslt libxslt-devel
若提示yum中沒有可用的軟件包libmcrypt和libmcrypt-devel,則需要手動編譯安裝,可以先在windows宿主主機中前往libmcrypt官網下載然後使用rz指令將包上傳至centos7進行編譯安裝。我下載的包爲libmcrypt-2.5.8.tar.gz:
tar -zxvf libmcrypt-2.5.8.tar.gz
cd libmcrypt-2.5.8
./configure --prefix=/usr/local/lnmp/libmcrypt
make && make install
2. 下載php包並解壓
cd /home/linux_software
tar -zxvf php-v.tar.gz
3. 編譯安裝(到/usr/local/lnmp/php目錄)
cd php-v
./configure --prefix=/usr/local/lnmp/php --enable-fpm --with-config-file-path=/etc --with-config-file-scan-dir=/etc/php.d --with-openssl --with-zlib --with-curl --enable-ftp --with-gd --with-xmlrpc --with-jpeg-dir --with-png-dir --with-freetype-dir --enable-gd-native-ttf --enable-mbstring --with-mcrypt=/usr/local/lnmp/libmcrypt --enable-zip --enable-mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-mysql-sock=/var/lib/mysql/mysql.sock --without-pear --enable-bcmath
(注意:--with-mcrypt參數指定的是libmcrypt的安裝目錄。Php7不再使用mysql的庫來支持mysql的連接,而是啓用了mysqlnd來支持,所以php7的編譯已經不再使用--with-mysql參數指定mysql的安裝位置了,若想支持mysql,需要設置--enable-mysqlnd、--with-mysqli和--with-pdo-mysql=mysqlnd參數,--with-mysql-sock指定的是編譯mysql時-DMYSQL_UNIX_ADDR參數指定的文件)
make(此過程需花費大概20分鐘)
make install
4. 將php包解壓目錄中的配置文件放置到正確位置(configure命令中的--with-config-file-path設置的位置)
cp php.ini-development /etc/php.ini
5. 創建並設置php-fpm運行賬號
groupadd www-data
useradd -M -g www-data -s /sbin/nologin www-data
cd /usr/local/lnmp/php/etc
cp php-fpm.conf.default php-fpm.conf
vim php-fpm.conf
發現搜索不到“user”(設置運行賬號的位置),但發現文件的最後一行:
所以:
cd php-fpm.d
cp www.conf.default www.conf(否則include匹配不到文件)
vim www.conf
搜索“user”設置運行賬號:
user=www-data
group=www-data
6. 配置nginx支持php
vim /usr/local/lnmp/nginx/conf/nginx.conf
修改完成之後記得重啓nginx服務:
systemctl start nginx.service
7. 設置php-fpm爲系統服務:
vim /lib/systemd/system/php-fpm.service
文件內容:
[Unit]
Description=php-fpm
After=network.target
[Service]
Type=forking
ExecStart=/usr/local/lnmp/php/sbin/php-fpm
PrivateTmp=True
[Install]
WantedBy=multi-user.target
8. 設置php-fpm服務開機自啓動:
systemctl enable php-fpm.service
9. 啓動php-fpm:
systemctl start php-fpm.service
查看是否啓動成功:
ps aux | grep php-fpm
10.寫一個php腳本測試nginx是否已支持php,php是否已支持mysql。
1 2 |
|
11.添加環境變量
vi /etc/profile ;
將這個加進去 export PATH=$PATH:/usr/local/lnmp/php/bin
改變生效:source /etc/profile
查看版本:php -v
至此,LNMP搭建完成!
五、卸載PHP
-
查看php版本命令:
#php -v
下面的命令是刪除不乾淨的
#yum remove php
因爲使用這個命令以後再用
#php -v
還是會看到有版本信息的。。。。。
必須強制刪除,使用下面命令查看全部php軟件包
#rpm -qa|grep php
- 刪除查詢的所有依賴:rpm -e php-* (模糊匹配)