今天在 阿裡雲 ECS上 部署了一套 Lamp 系統,建了一個WordPress的網站,把操作過程記錄下來,文中所列腳本可以直接應用。
閑言不多說,直接開動,ECS雲服務優惠購買可以點選
阿裡雲ECS 雲主機 彈性計算 新人折扣安裝Nginx
登入彈性雲伺服器。
執行以下指令,下載下傳對應目前系統版本的Nginx包。
wget http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
執行以下指令,建立Nginx的yum倉庫。
rpm -ivh nginx-release-centos-7-0.el7.ngx.noarch.rpm
執行以下指令,安裝Nginx。
yum -y install nginx
執行以下指令,啟動Nginx并設定開機啟動。
systemctl start nginx
systemctl enable nginx
使用浏覽器通路 “
http://伺服器IP位址”,顯示如下頁面,說明Nginx安裝成功。
點選放大
安裝MySQL。
依次執行以下指令,安裝MySQL。
rpm -Uvh http://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm
yum -y install mysql-community-server
依次執行以下指令,啟動MySQL服務并設定開機自啟動。
systemctl start mysqld
systemctl enable mysqld
執行以下指令,擷取安裝MySQL時自動設定的root使用者密碼。
grep 'temporary password' /var/log/mysqld.log
回顯如下類似資訊。
2018-08-29T07:27:37.541944Z 1 [Note] A temporary password is generated for root@localhost: 2YY?3uHUA?Ys
執行以下指令,并按照回顯提示資訊進行操作,加強MySQL。
mysql_secure_installation
接下來按照提示操作:
Securing the MySQL server deployment.
Enter password for user root: #輸入上一步驟中擷取的安裝MySQL時自動設定的root使用者密碼
The existing password for the user account root has expired. Please set a new password.
New password: #設定新的root使用者密碼
Re-enter new password: #再次輸入密碼
The 'validate_password' plugin is installed on the server.
The subsequent steps will run with the existing configuration of the plugin.
Using existing password for root.
Estimated strength of the password: 100
Change the password for root ? ((Press y|Y for Yes, any other key for No) : N #是否更改root使用者密碼,輸入N
... skipping.
By default, a MySQL installation has an anonymous user,
allowing anyone to log into MySQL without having to have
a user account created for them. This is intended only for
testing, and to make the installation go a bit smoother.
You should remove them before moving into a production
environment.
Remove anonymous users? (Press y|Y for Yes, any other key for No) : Y #是否删除匿名使用者,輸入Y
Success.
Normally, root should only be allowed to connect from 'localhost'. This ensures that someone cannot guess at the root password from the network.
Disallow root login remotely? (Press y|Y for Yes, any other key for No) : Y #禁止root遠端登入,輸入Y
Success.
By default, MySQL comes with a database named 'test' that anyone can access. This is also intended only for testing, and should be removed before moving into a production environment.
Remove test database and access to it? (Press y|Y for Yes, any other key for No) : Y #是否删除test庫和對它的通路權限,輸入Y
- Dropping test database...
Success.
- Removing privileges on test database...
Success.
Reloading the privilege tables will ensure that all changes
made so far will take effect immediately.
Reload privilege tables now? (Press y|Y for Yes, any other key for No) : Y #是否重新加載授權表,輸入Y
Success.
All done!
安裝PHP
依次執行以下指令,安裝PHP 7和一些所需的PHP擴充。
rpm -Uvh https://mirror.webtatic.com/yum/el7/epel-release.rpm
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
yum -y install php70w-tidy php70w-common php70w-devel php70w-pdo php70w-mysql php70w-gd php70w-ldap php70w-mbstring php70w-mcrypt php70w-fpm
執行以下指令,驗證PHP的安裝版本。
php -v
回顯如下類似資訊:
PHP 7.0.31 (cli) (built: Jul 20 2018 08:55:22) ( NTS )
Copyright (c) 1997-2017 The PHP Group
Zend Engine v3.0.0, Copyright (c) 1998-2017 Zend Technologies
執行以下指令,啟動PHP服務并設定開機自啟動。
systemctl start php-fpm
systemctl enable php-fpm
修改Nginx配置檔案以支援PHP
執行以下指令打開配置檔案“default.conf”。
vim /etc/nginx/conf.d/default.conf
按i鍵進入編輯模式。
修改打開的“default.conf”檔案。
在所支援的首頁面格式中添加php格式的首頁,如下所示:
location / {
root /usr/share/nginx/html;
index index.php index.html index.htm;
}
取消如下内容的注釋,并設定字型加粗部分為Nginx的預設路徑,如下圖所示:
location ~ \.php$ {
root html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /usr/share/nginx/html$fastcgi_script_name;
include fastcgi_params;
}
按Esc鍵退出編輯模式,并輸入:wq儲存後退出。
執行以下指令,重新載入nginx的配置檔案。
service nginx reload
浏覽器通路測試
在/usr/share/nginx/html目錄下建立“info.php”的測試頁面。
執行以下指令建立并打開“info.php”的測試檔案。
vim /usr/share/nginx/html/info.php
修改打開的“info.php”檔案,将如下内容寫入檔案。
<?php
phpinfo();
?>
使用浏覽器通路“
伺服器IP位址/info.php”,顯示如下頁面,說明環境搭建成功。
建立資料庫
執行以下指令,并按照提示資訊輸入MySQL的root使用者,登入到MySQL指令行。
mysql -u root -p
執行以下指令,建立一個新的資料庫。
CREATE DATABASE wordpress;
其中,“wordpress”為資料庫名,可以自行設定。
執行以下指令,為資料庫建立使用者并為使用者配置設定資料庫的完全通路權限。
GRANT ALL ON wordpress.* TO wordpressuser@localhost IDENTIFIED BY 'PASSWORD123';
其中,“wordpressuser”為資料庫使用者名,“PASSWORD123”為對應的帳戶密碼,可以自行設定。
執行以下指令,退出MySQL指令行。
exit
(可選)依次執行以下指令,驗證資料庫和使用者是否已成功建立,并退出MySQL指令行。
mysql -u wordpressuser -p
SHOW DATABASES;
exit
其中,“wordpressuser”為剛剛建立的資料庫使用者名。
安裝WordPress
從WordPress官網擷取WordPress軟體包并上傳至/usr/share/nginx/html目錄。
指令行下載下傳參考
wget http://wordpress.org/latest.tar.gz
由于WordPress官方網站被攻擊,導緻國内使用者通路WordPress網站的時候會提示429 Too Many Requests錯誤,是以使用國内伺服器的朋友很難從官網下載下傳新版版本的WordPress安裝包,這裡給大家分享一下從官網下載下傳下來的新版版的WordPress安裝檔案,有需要的可以自己下載下傳了。
可以使用SCP的方式上傳,
scp /Users/bingyue/Downloads/wordpress-5.3.2.tar.gz [email protected]:/opt
後續操作軟體包以“wordpress-5.3.2-zh_CN.tar.gz”為例。
執行以下指令,解壓縮軟體包。
tar -xvf wordpress-5.3.2-zh_CN.tar.gz
解壓後生成一個“wordpress”的檔案夾。
執行以下指令,設定解壓後的檔案權限。
chmod -R 777 wordpress
浏覽器通路“
伺服器IP位址/wordpress”進入安裝向導。