linux 下安裝 LNMP 最簡單的安裝方法

最近在安裝linux  lnmp centos7環境的時候還是有點小問題,從頭總結了一下。

安裝的版本是 nginx 1.12  mysql 5.7  php 5.6 

一,安裝nginx 

1.下載

安裝前確認安裝擴展 沒有的直接 yum install wget gcc gcc-c++ pcre-devel zlib-devel openssl openssl-devel 

      [root@localhost ~]# cd /usr/local/src/

      [root@localhost src]#  wget   http://nginx.org/download/nginx-1.12.2.tar.gz

2.解壓

     [root@localhost src]# tar zxvf nginx-1.12.2.tar.gz 

3. 預編譯

[root@localhost src]# cd nginx-1.12.2 

[root@localhost nginx-1.12.2]# ./configure --prefix=/usr/local/nginx    --with-http_ssl_module   --with-http_v2_module --with-http_stub_status_module   --with-pcre  --with-http_gzip_static_module  

 

解釋

--with-http_gzip_static_module :支持壓縮

--with-http_stub_status_module :支持nginx狀態查詢

--with-http_ssl_module :支持https

--with-pcre :爲了支持rewrite重寫功能,必須制定pcre

可根據自己需求

/** 

 --with-http_dav_module             #啓用支持(增加PUT,DELETE,MKCOL:創建集合,COPY和MOVE方法)                        
--with-http_addition_module         #啓用支持(作爲一個輸出過濾器,支持不完全緩衝,分部分相應請求)
--with-http_sub_module              #啓用支持(允許一些其他文本替換Nginx相應中的一些文本)
--with-http_flv_module              #啓用支持(提供支持flv視頻文件支持)
--with-http_mp4_module              #啓用支持(提供支持mp4視頻文件支持,提供僞流媒體服務端支持)

make -j 4 && make install 4覈編譯

*/

4. [root@localhost src]# make && make install 

 

5.添加系統變量(方便啓停服務)

 

 

 [root@localhost nginx-1.12.2]# vim /etc/profile

  我一般是在56行添加    export PATH=/usr/local/nginx/sbin:$PATH

重啓配置 source /etc/profile

[root@localhost nginx-1.12.2]# nginx -V

nginx 安裝成功

二、安裝mysql 5.7

用的是rpm 好處是不用配置那麼多東西 。 配置不用管。

 

   [root@localhost ~]# cd /usr/local/src/
   [root@localhost src]# wget http://repo.mysql.com/mysql57-community-release-el7-8.noarch.rpm 

   [root@localhost src]# rpm -ivh mysql57-community-release-el7-8.noarch.rpm 

   [root@localhost src]#  yum -y install mysql-server 

也可以指定安裝目錄     yum --installroot=/usr/local/mysql --releasever=/ -y install mysql-server 可以自己研究

 

根據步驟安裝就可以了,

默認配置文件路徑: 
配置文件:/etc/my.cnf 
日誌文件:/var/log/var/log/mysqld.log 
服務啓動腳本:/usr/lib/systemd/system/mysqld.service 

socket文件:/var/run/mysqld/mysqld.pid

 啓動mysql服務

service mysqld restart

 重置密碼

    [root@localhost ~]# grep "password" /var/log/mysqld.log    

可以看到  輸入 mysql -u root -p   密碼 進入      第一次登陸 ,需要重置密碼 要不什麼也不能操作 

  接下來重置密碼:5.7.20 爲了安全密碼           必須包含 數字字母符號

 

 alter user 'root'@'localhost' identified by 'Root!!2018'; 

 

   也可以 直接再添加新用戶     

  grant all on *.* to 'rootadmin'@'%' identified by 'Root@@'  with grant option;

  增加root用戶指定可以任意IP登錄,如果想限制只能讓指定IP登錄請把%替換成IP地址

最後記得刷新權限;

 flush privileges ;

三、安裝php

 

需要的插件 包

yum -y install gcc gcc-c++ libxml2 libxml2-devel bzip2 bzip2-devel libmcrypt libmcrypt-devel openssl openssl-devel libcurl-devel libjpeg-devel libpng-devel freetype-devel readline readline-devel libxslt-devel perl perl-devel psmisc.x86_64 recode recode-devel libtidy libtidy-devel  epel-release libmcrypt-devel

1.下載

      [root@localhost ~]# cd /usr/local/src/

      [root@localhost src]# wget http://cn2.php.net/distributions/php-5.6.32.tar.gz

2.解壓

     [root@localhost src]# tar zxvf php-5.6.32.tar.gz

3. 預編譯

進入目錄 [root@localhost src]# cd php-5.6.32

創建php-fpm用戶,並禁止登錄;
[root@localhost php-5.6.32]# useradd -s /sbin/nologin php-fpm

 

./configure --prefix=/usr/local/php --sysconfdir=/usr/local/php/etc --with-config-file-path=/usr/local/php/etc/    --with-fpm-user=php-fpm  --with-fpm-group=php-fpm  --enable-fpm --with-mysql=mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-mhash  --with-openssl --with-zlib --with-bz2 --with-curl --with-libxml-dir --with-gd --with-jpeg-dir  --with-png-dir --with-zlib --enable-mbstring --with-mcrypt --enable-sockets --with-iconv-dir   --enable-zip --with-pcre-dir --with-pear --enable-session  --enable-gd-native-ttf  --enable-xml --with-freetype-dir --enable-gd-jis-conv --enable-inline-optimization --enable-shared  --enable-bcmath --enable-sysvmsg --enable-sysvsem --enable-sysvshm  --enable-mbregex --enable-pcntl --with-xmlrpc --with-gettext --enable-exif --with-readline   --enable-ftp   --enable-redis

提示錯誤mcrypt.h沒有找到,安裝libmcrypt-devel包,默認的yum源,沒有這個包,需要安裝epel擴展源後,纔可以安裝。

[root@localhost php-5.6.32]# yum install -y epel-release

[root@localhost php-5.6.32]# yum install -y libmcrypt

[root@localhost php-5.6.32]# yum install -y libmcrypt-devel

 

再次執行./configure,沒有錯誤提示,出現Thank you for using PHP,配置OK。

 

 

完成後使用echo $?查看是否安裝正確;
[root@localhost  php-5.6.32]# make && make install 

[root@localhost  php-5.6.32]# echo $?

0 0表示上一步的結果成功。

 

配置文件

需要將當前目錄下的php.ini文件拷貝到 php的安裝目錄etc下

[root@localhost php-5.6.32]# cp php.ini-production /usr/local/php/etc/php.ini

 

php.ini 文件是在包目錄下的 php.ini-development(開發), php.ini-production(生產)  

 

拷貝php啓動腳本,php-fpm配置文件,更改php-fpm權限爲755;添加php-fpm開機啓動;

[root@ php-5.6.32]# cp /usr/local/src/php-5.6.32/sapi/fpm/init.d.php-fpm   /etc/init.d/php-fpm 
(啓動腳本)
[root@ php-5.6.32]# mv /usr/local/php/etc/php-fpm.conf.default   /usr/local/php/etc/php-fpm.conf  (就是去掉了末尾的.default )
[root@ php-5.6.32]# chmod 755 /etc/init.d/php-fpm 
[[email protected]]# chkconfig --add php-fpm 
[[email protected]]# service php-fpm start 
Starting php-fpm  done
[[email protected]]# chkconfig php-fpm on 

 

 

將php的安裝目錄也加入到系統的環境變量  在最後一行加入

 

vim /etc/profile

export PATH=/usr/local/php/bin:$PATH

source /etc/profile 重新加載

[root@localhost ~]# php -v
PHP 5.6.32 (cli) (built: Mar 12 2018 17:43:15) 
Copyright (c) 1997-2016 The PHP Group
Zend Engine v2.6.0, Copyright (c) 1998-2016 Zend Technologies完成 接下來就是測試

-----php---安裝成功

 

在地址欄輸入你的ip。然後測試PHP安裝是否成功。確保nginx 和PHP都是運行的哈。

然後需要配置nginx

核心配置的兩個 加入到nginx.conf

 

 

vim /usr/local/nginx/conf/nginx.conf

        location / {
            root   /www/yingcai;
            index  index.html index.htm index.php;
try_files $uri $uri/ /index.php?$query_string;
if (!-e $request_filename){  
rewrite ^(.*)$ /index.php?s=$1 last;  break;

        }

 

將請求轉給php的9000端口  確保nginx 和PHP都是運行的哈。  

 

  location ~ \.php$ {

            root           /www/yingcai;
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
            include        fastcgi_params;
        }

 

我的是根目錄下的www/  寫個index.php  裏面加入phpinfo(); 看能否成功。

 

安裝上面的應該沒問題,有問題的留言,大家一塊解決。

原文轉自 https://blog.csdn.net/z13615480737/article/details/79530334

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章