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下區分大小寫,輸入命令時請注意!
安裝步驟:
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 後面的引數替換為lnmpa或lamp即可。如需更改網站和資料庫目錄先修改 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.的話,說明已經安裝成功。
接下來按新增虛擬主機教程,新增虛擬主機後上傳網站程式碼,可以使用sftp或ftp伺服器上傳網站,將域名解析到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就安裝完成了,
愉快的開始搭建屬於你自己的網站吧