摘要:首先安裝,,,堆棧第一步安裝此時訪問你的服務器地址應該會出現這個畫面第二步安裝以管理站點數據安裝系統將要求您提供管理密碼,以便在系統中使用。檢查語法重啟第步安裝其他擴展在設置堆棧時,我們只需要一組非常小的擴展,以便讓與通信。
首先安裝Linux,Nginx,MySQL,PHP(LEMP堆棧) 第一步:安裝Nginx
sudo apt-get update sudo apt-get install nginx
此時訪問你的服務器地址應該會出現這個畫面
第二步:安裝MySQL以管理站點數據安裝
sudo apt-get install mysql-server
系統將要求您提供root(管理)密碼,以便在MySQL系統中使用。
第3步:安裝PHP進行處理因為ubuntu16.04只支持php7,所以安裝php7
sudo apt-get install php-fpm php-mysql配置PHP處理器
我們現在已經安裝了PHP組件,但是我們需要進行輕微的配置更改以使我們的設置更安全。
php-fpm使用root權限打開主配置文件:
sudo vim /etc/php/7.0/fpm/php.ini
在文件中尋找的是設置的參數cgi.fix_pathinfo。這將用分號(;)注釋掉,默認設置為“1”。
這是一個非常不安全的設置,因為它告訴PHP嘗試執行它找不到所請求的PHP文件時可以找到的最接近的文件。這基本上允許用戶以允許他們執行不應該被允許執行的腳本的方式來創建PHP請求。
我們將通過取消注釋該行并將其設置為“0”來更改這兩個條件,如下所示:
在vim中可以使用/后面接內容進行查找
cgi.fix_pathinfo=0
重啟PHP處理
sudo systemctl restart php7.0-fpm第4步:配置Nginx以使用PHP處理器
執行以下命令
sudo vim /etc/nginx/sites-available/default
Nginx默認服務器塊文件如下所示:
server { listen 80 default_server; listen [::]:80 default_server; root /var/www/html; index index.html index.htm index.nginx-debian.html; server_name _; location / { try_files $uri $uri/ =404; } }
對當前文件進行幾點更改:
首先,我們需要添加index.php作為index指令的第一個值,以便index.php在請求目錄時提供命名的文件(如果可用)。
我們可以修改server_name指令以指向我們服務器的域名或公共IP地址。
對于實際的PHP處理,我們只需要通過從每行前面刪除井號(#)來取消注釋處理PHP請求的文件段。這將是location
~.php$位置塊,包含的fastcgi-php.conf代碼段和與之關聯的套接字php-fpm。
我們還將.htaccess使用相同的方法取消注釋處理文件的位置塊。Nginx不處理這些文件。如果這些文件中的任何一個恰好進入文檔根目錄,則不應向訪問者提供這些文件。
更改在中標記的文本:
server {
listen 80 default_server; listen [::]:80 default_server; root /var/www/html; #這一行中添加了index.php index index.php index.html index.htm index.nginx-debian.html; #此處修改你的域名,如果沒有則不需要修改源文件 server_name server_domain_or_IP; location / { try_files $uri $uri/ =404; } #以下所有內容需要添加 location ~ .php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/run/php/php7.0-fpm.sock; } location ~ /.ht { deny all; } #以上所有內容需要添加}
完成上述更改后,您可以保存并關閉該文件。
檢查ng的語法錯誤
sudo nginx -t
如果沒有問題重啟Nginx
sudo systemctl reload nginx第5步:創建PHP文件以測試配置
測試Nginx是否可以正確地將.php文件傳遞給我們的PHP處理器。
我們可以通過在文檔根目錄中創建測試PHP文件來完成此操作。info.php在文本編輯器中打開文檔根目錄中調用的新文件:
sudo vim /var/www/html/info.php
以下為內容
phpinfo();
完成后,保存并關閉文件。
現在,您可以通過訪問
服務器ip/info.php:
可以看到該網頁
如果您看到一個看起來像這樣的頁面,那么您已成功使用Nginx設置PHP處理。
現在,用以下命令刪除文件: (當然不刪除也不會有什么問題)
sudo rm /var/www/html/info.php現在配置WordPress相關 第1步:為WordPress創建MySQL數據庫和用戶
WordPress使用MySQL來管理和存儲站點和用戶信息。我們已經安裝了MySQL,但是我們需要為WordPress創建一個數據庫和用戶。
MySQL登錄:
mysql -u root -p
輸入安裝mysql時候的密碼
首先,我們可以創建一個WordPress可以控制的獨立數據庫。你可以隨意調用它,但我們將wordpress在本指南中使用它來保持簡單。您可以通過鍵入以下命令為WordPress創建數據庫:
#其中wordpress只是為數據庫名稱,可以隨意修改 CREATE DATABASE wordpress DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
我們將創建此帳戶,設置密碼并授予對我們創建的數據庫的訪問權限。我們可以通過輸入以下命令來完成此操作。
#其中wordpress為數據庫名稱,wordpressuser為創建的用戶的名稱,password為創建的用戶的密碼 GRANT ALL ON wordpress.* TO "wordpressuser"@"localhost" IDENTIFIED BY "password";
刷新權限,以便MySQL的當前實例知道我們最近做出的更改:
FLUSH PRIVILEGES;
退出
EXIT;第2步:調整Nginx的配置以正確處理WordPress
使用以下sudo權限打開默認服務器塊文件:
sudo vim /etc/nginx/sites-available/default
在主server塊中,我們需要添加幾個location塊。
通過創建要求精確匹配的位置開始塊/favicon.ico和/robots.txt,這兩個我們不希望記錄的請求。
我們將使用正則表達式位置來匹配任何靜態文件請求。我們將再次關閉這些請求的日志記錄,并將它們標記為高度可緩存,因為這些通常是昂貴的服務資源。您可以調整此靜態文件列表以包含您的站點可能使用的任何其他文件擴展名:
server { . . . #以下為需要添加的location location = /favicon.ico { log_not_found off; access_log off; } location = /robots.txt { log_not_found off; access_log off; allow all; } location ~* .(css|gif|ico|jpeg|jpg|js|png)$ { expires max; log_not_found off; } . . . }
調整try_files列表,以便不是將404錯誤作為默認選項返回,而是index.php使用請求參數將控制傳遞給 文件。
server { . . . location / { #try_files $uri $uri/ =404; try_files $uri $uri/ /index.php$is_args$args; } . . . }
完成后,保存并關閉文件。
檢查Nginx語法
sudo nginx -t
重啟
sudo systemctl reload nginx第3步:安裝其他PHP擴展
在設置LEMP堆棧時,我們只需要一組非常小的擴展,以便讓PHP與MySQL通信。WordPress及其許多插件利用了額外的PHP擴展。
我們可以通過輸入以下命令下載并安裝一些最流行的PHP擴展以與WordPress一起使用:
sudo apt-get update sudo apt-get install php-curl php-gd php-mbstring php-mcrypt php-xml php-xmlrpc
重啟PHP
sudo systemctl restart php7.0-fpm第4步:下載WordPress
ps:以下步驟用于配置權限問題,也可以直接將wordpress放到/var/www/html目錄下賦予權限即可
現在我們的服務器軟件已經配置好了,我們可以下載并設置WordPress。出于安全原因,我們始終建議從其站點獲取最新版本的WordPress。
轉換為可寫目錄,然后鍵入以下命令下載壓縮版本:
cd /tmp curl -O https://wordpress.org/latest.tar.gz
解壓
tar xzvf latest.tar.gz
我們將暫時將這些文件移動到我們的文檔根目錄中。在我們這樣做之前,我們可以將示例配置文件復制到WordPress實際讀取的文件名:
cp /tmp/wordpress/wp-config-sample.php /tmp/wordpress/wp-config.php
我們還可以創建upgrade目錄,以便WordPress在更新其軟件后嘗試自行執行此操作時不會遇到權限問題:
mkdir /tmp/wordpress/wp-content/upgrade
現在,我們可以將目錄的全部內容復制到我們的文檔根目錄中。我們使用該-a標志來確保維護我們的權限。我們在源目錄的末尾使用一個點來表示應該復制目錄中的所有內容,包括任何隱藏文件:
sudo cp -a /tmp/wordpress/. /var/www/html第5步:配置WordPress目錄
我們需要完成的一件大事是建立合理的文件權限和所有權。我們需要能夠以普通用戶的身份寫入這些文件,并且我們需要Web服務器也能夠訪問和調整某些文件和目錄才能正常運行。
我們首先將文檔根目錄中的所有文件的所有權分配給用戶名。我們將root在本指南中使用我們的用戶名,但您應該更改此選項以匹配您的sudo用戶調用。我們會將群組所有權分配給www-data群組:
sudo chown -R root:www-data /var/www/html
配置setgit位
sudo find /var/www/html -type d -exec chmod g+s {} ;
為wp-content目錄提供組寫訪問權限,以便Web界面可以進行主題和插件更改:
sudo chmod g+w /var/www/html/wp-content
為Web服務器提供對這兩個目錄中所有內容的寫訪問權限:
sudo chmod -R g+w /var/www/html/wp-content/themes sudo chmod -R g+w /var/www/html/wp-content/plugins
這只是一個合理的權限設置開始,一些插件可能需要多帶帶配置。
第六步:設置WordPress配置文件現在,我們需要對主WordPress配置文件進行一些更改。
vim /var/www/html/wp-config.php
數據庫連接設置下方或文件中的任何其他位置添加此設置:
. . . /** MySQL database name */ define("DB_NAME", "wordpress"); /** MySQL database username */ define("DB_USER", "wordpressuser"); /** MySQL database password */ define("DB_PASSWORD", "password"); . . . define("FS_METHOD", "direct");
完成后保存并關閉文件。
第6步:通過Web界面完成安裝進入你的服務器地址進行配置。
注意事項:升級wordpress更新的時候由于權限問題可能無法更新。
此時需要重新賦權:
sudo chown -R www-data /var/www/html
完成后,再次鎖定權限以確保安全性:
sudo chown -R root /var/www/html
建議僅在升級時才設置此權限。
到此處wordpress部署成功。文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/40112.html
摘要:一步一步教你基于搭建自己的個人博客,作為成熟的框架,美觀,方便,插件多,更新頻繁,非常適合個人博客與網站的搭建,適合新手,無需太多的代碼基礎。原文鏈接手把手教你搭建自己的網站購買購買云服務器為了搭建個人網站,首先肯定需要一個云服務器。 一步一步教你基于WordPress搭建自己的個人博客,WordPress作為成熟的CMS框架,美觀,方便,插件多,更新頻繁,非常適合個人博客與網站的搭建...
閱讀 3198·2023-04-26 01:30
閱讀 665·2021-11-08 13:15
閱讀 1774·2021-09-24 10:35
閱讀 999·2021-09-22 15:41
閱讀 1930·2019-08-30 15:44
閱讀 593·2019-08-30 13:22
閱讀 1005·2019-08-30 13:06
閱讀 1197·2019-08-29 13:22