1. 程式人生 > >LNMP環境搭建與wordpress的安裝

LNMP環境搭建與wordpress的安裝

剛開始一直在嘗試自己原始碼一步一步搭建LNMP環境,但是不知道為什麼,在php與nginx互動上一直出錯,前前後後也解決了好多個問題,最終訪問localhost時,出現的還是welcome to nginx 的畫面,雖然安裝環境用了三四天,也遇到了很多問題,所以在這裡向大家分享一下快速搭建的經驗,小編使用的是CentOS7.2的Linux系統,在VirtualBox上執行,理由很簡單,免費,開源,穩定。

系統需求:

  • CentOS/RHEL/Fedora/Debian/Ubuntu/Raspbian Linux系統
  • 需要5GB以上硬碟剩餘空間
  • 需要128MB以上記憶體(如果為128MB的小記憶體VPS,Xen的需要有SWAP,OpenVZ的至少要有128MB以上的vSWAP或突發記憶體),注意小記憶體請勿使用64位系統!
  • 安裝MySQL 5.6或5.7及MariaDB 10必須1G以上記憶體!
  • VPS或伺服器必須已經聯網,且必須設定的是網路源不能是光碟源,同時VPS/伺服器 DNS要正常!
  • Linux下區分大小寫,輸入命令時請注意!
LNMP一鍵安裝包 V1.3 已經在PhotonVPSVultr遨遊主機OneAsiahost新加坡VPS搬瓦工BudgetVM、、DigitalOceanLocVPSLinodeDiaHosting瑞豪開源KVMLA景文互聯RamNodeHostigationBuyVM80VPSXSVPSHostUS快易互聯阿里雲等眾多VPS的CentOS 5-7、RHEL 6-7、Fedora 21-23、Debian 7-8、Ubuntu 10.04-16.04的32位和64位系統上測試通過。

安裝步驟:


1、使用putty或類似的SSH工具登陸VPS或伺服器;

登陸後執行:

screen -S lnmp



如果提示screen: command not found 命令不存在可以執行:
yum install screen 


2、下載並安裝LNMP一鍵安裝包:

您可以選擇使用下載版(推薦美國及海外VPS或空間較小使用者使用)或者完整版(推薦國內VPS使用,國內使用者可用在下載中找國內下載地址替換),兩者沒什麼區別,只是完整版把一些需要的原始碼檔案預先放到安裝包裡。

安裝LNMP穩定版
wget -c http://soft.vpser.net/lnmp/lnmp1.3-full.tar.gz && tar zxf lnmp1.3-full.tar.gz && cd lnmp1.3-full && ./install.sh lnmp



安裝LNMP測試版
wget -c http://soft.vpser.net/lnmp/lnmp1.4beta.tar.gz && tar zxf lnmp1.4beta.tar.gz && cd lnmp1.4 && ./install.sh lnmp



預設安裝lnmp可不寫,如需要安裝LNMPA或LAMP,將./install.sh 後面的引數替換為lnmpalamp即可。如需更改網站和資料庫目錄先修改 lnmp.conf 檔案。

如下載速度慢請更換其他下載節點,詳情請看下載頁面LNMP下載節點具體替換方法

按上述命令執行後,會出現如下提示:

需要設定MySQL的root密碼(不輸入直接回車將會設定為root)如果輸入有錯誤需要刪除時,可以按住Ctrl再按Backspace鍵進行刪除。輸入後回車進入下一步,如下圖所示:

詢問是否需要啟用MySQL InnoDB,InnoDB引擎預設為開啟,一般建議開啟,直接回車或輸入 y ,如果確定確實不需要該引擎可以輸入 n,輸入完成,回車進入下一步
選擇MySQL版本,目前提供了較多版本的MySQL和MariaDB,需要注意的是MySQL 5.6,5.7及MariaDB 10必須在1G以上記憶體的更高配置上才能選擇:

輸入對應MySQL或MariaDB版本前面的序號,回車進入下一步,選擇PHP版本:
注意:選擇PHP7等高版本時需要自行確認是否與自己的程式相容。

輸入要選擇的PHP版本的序號,回車進入下一步,選擇是否安裝記憶體優化:

可以選擇不安裝、Jemalloc或TCmalloc,輸入對應序號回車,直接回車為預設為不安裝。

如果是LNMPA或LAMP的話還會提示“Please enter Administrator Email Address:”,需要設定管理員郵箱,該郵箱會在報錯時顯示在錯誤頁面上。

再選擇Apache版本

按提示輸入對應版本前面的數字序號,回車。

提示"Press any key to install...or Press Ctrl+c to cancel"後,按回車鍵確認開始安裝。 
LNMP指令碼就會自動安裝編譯Nginx、MySQL、PHP、phpMyAdmin、Zend Optimizer這幾個軟體。

安裝時間可能會幾十分鐘到幾個小時不等,主要是機器的配置網速等原因會造成影響。

3、安裝完成
如果顯示Nginx: OK,MySQL: OK,PHP: OK

並且Nginx、MySQL、PHP都是running,80和3306埠都存在,並提示Install lnmp V1.3 completed! enjoy it.的話,說明已經安裝成功。
接下來按新增虛擬主機教程,新增虛擬主機後上傳網站程式碼,可以使用sftpftp伺服器上傳網站,將域名解析到VPS或伺服器的IP上,解析生效即可使用。

*********************************************************************************分割線*******************************************************************************************************

以上安裝教程來自

https://lnmp.org/install.html

接下來開啟Linux上預設安裝的火狐瀏覽器

輸入

localhost

出來的介面如下(因為該一鍵安裝包由lnmp.org提供,所以預設的localhost介面如下,如果你看到了這個介面,就鬆一口氣吧,lnmp環境已搭建成功)


嘗試訪問一下

localhost/p.php


如果是剛安裝好Lnmp環境,訪問php檔案時,肯定會出現一個提示你下載的介面,這時不要懷疑你安裝了假的lnmp環境,而是因為lnmp一鍵安裝包中預設沒有在nginx.conf配置檔案中設定好,碰到php檔案時,要傳遞到後方的php直譯器。

此時需要對nginx.conf(使用lnmp安裝包的,nginx.conf的路徑為:/usr/local/nginx/conf)新增

location ~ .*\.php$ {
fastcgi_pass   127.0.0.1:9000;
		}

上面的意思,就是說,碰到.php結尾的檔案,傳遞給後方127.0.0.1的9000埠上。

下面貼上我nginx.conf的全部內容供參考(請大家在修改nginx.conf前做好備份)

user  www www;

worker_processes auto;

error_log  /home/wwwlogs/nginx_error.log  crit;

pid        /usr/local/nginx/logs/nginx.pid;

#Specifies the value for maximum file descriptors that can be opened by this process.
worker_rlimit_nofile 51200;

events
    {
        use epoll;
        worker_connections 51200;
        multi_accept on;
    }

http
    {
        include       mime.types;
        default_type  application/octet-stream;

        server_names_hash_bucket_size 128;
        client_header_buffer_size 32k;
        large_client_header_buffers 4 32k;
        client_max_body_size 50m;

        sendfile   on;
        tcp_nopush on;

        keepalive_timeout 60;

        tcp_nodelay on;

        fastcgi_connect_timeout 300;
        fastcgi_send_timeout 300;
        fastcgi_read_timeout 300;
        fastcgi_buffer_size 64k;
        fastcgi_buffers 4 64k;
        fastcgi_busy_buffers_size 128k;
        fastcgi_temp_file_write_size 256k;

        gzip on;
        gzip_min_length  1k;
        gzip_buffers     4 16k;
        gzip_http_version 1.1;
        gzip_comp_level 2;
        gzip_types     text/plain application/javascript application/x-javascript text/javascript text/css application/xml application/xml+rss;
        gzip_vary on;
        gzip_proxied   expired no-cache no-store private auth;
        gzip_disable   "MSIE [1-6]\.";

        #limit_conn_zone $binary_remote_addr zone=perip:10m;
        ##If enable limit_conn_zone,add "limit_conn perip 10;" to server section.

        server_tokens off;
        access_log off;

server
    {
        listen 80 default_server;
        #listen [::]:80 default_server ipv6only=on;
        server_name www.lnmp.org;
        index index.php index.html index.htm;
        root  /home/wwwroot/default;

        #error_page   404   /404.html;
        include enable-php.conf;

        location /nginx_status
        {
            stub_status on;
            access_log   off;
        }

        location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
        {
            expires      30d;
        }

        location ~ .*\.(js|css)?$
        {
            expires      12h;
        }

	location ~ .*\.php$
        {
            fastcgi_pass 127.0.0.1:9000;
        }


        location ~ /\.
        {
            deny all;
        }

        access_log  /home/wwwlogs/access.log;
    }
include vhost/*.conf;
}

接下來重啟nginx以載入配置
service nginx restart

此時再訪問
localhost/p.php
如果出現下圖,那麼你的lnmp環境已經徹底搭建成功

****************************************************************************分割線**************************************************************************************************** 那麼接下來就是wordpress的搭建了 首先下載原始碼包:
wget https://cn.wordpress.org/wordpress-4.7.1-zh_CN.tar.gz
解壓:
tar xf wordpress-4.7.1-zh_CN.tar.gz -C /home/wwwroot/default/wordpress
改變屬主:
chown www.www -R /home/wwwroot/default/wordpress
建立wordpress用到的資料庫:
mysql -u root -p;
create user ‘mywordpress'@'%' identified by '0000';
create database wordpress ;
grant all privileges on wordpress.* to 'mywordpress'@'%' identified by '0000';
flush privileges;
\q;

修改wordpress配置檔案(重新命名):
mv /data/www/wordpress/wp-config-sample.php/data/www/wordpress/wp-config.php

vim /www/data/wordpress/wp-config.php
如果沒有vim編輯器的先yum install vim 找到define ,修改如下:
// ** MySQL 設定 - 具體資訊來自您正在使用的主機 ** //

/** WordPress資料庫的名稱 */

define('DB_NAME', 'wordpress');



/** MySQL資料庫使用者名稱 */

define('DB_USER', 'mywordpress');



/** MySQL資料庫密碼 */

define('DB_PASSWORD', '0000');



/** MySQL主機 */

define('DB_HOST', 'localhost');
修改完成後訪問,進行一些初始化的設定
localhost/wordpress/wp-config.php
接下來你的wordpress就安裝完成了, 愉快的開始搭建屬於你自己的網站吧