今天在 阿里雲 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服務並設置開機自啟動。
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
按i鍵進入編輯模式。
修改打開的“info.php”文件,將如下內容寫入文件。
<?php
phpinfo();
?>
按Esc鍵退出編輯模式,並輸入:wq保存后退出。
使用瀏覽器訪問“http://服務器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
安裝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 root@33.44.55.66:/opt
后續操作軟件包以“wordpress-5.3.2-zh_CN.tar.gz”為例。
執行以下命令,解壓縮軟件包。
tar -xvf wordpress-5.3.2-zh_CN.tar.gz
解壓后生成一個“wordpress”的文件夾。
執行以下命令,設置解壓后的文件權限。
chmod -R 777 wordpress
瀏覽器訪問“http://服務器IP地址/wordpress”進入安裝向導。
接下來使用配置好的MySQL進行創建即可。