一、安裝 Nginx
1.1 安裝 Nginx 相關依賴
# 安裝gcc
yum install gcc-c++
# 安裝 pcre-devel
yum install -y pcre pcre-devel
# 安裝zlib
yum install -y zlib zlib-devel
# 安裝OpenSSL
yum install -y openssl openssl-devel
nginx 的一些模塊依賴一些 lib 庫,在安裝 nginx 之前,須先安裝這些 lib 庫,依賴庫主要有 g++
、gcc
、openssl-devel
、pcre-devel
和 zlib-devel
。nginx 編譯依賴需要 `gcc’, gzip 模塊需要 zlib 庫,rewrite 模塊需要 pcre 庫, ssl 功能需要 openssl 庫。
1.2 安裝 Nginx
# 創建 nginx.repo文件
vi /etc/yum.repos.d/nginx.repo
# 然後寫入配置:
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/OS/OSRELEASE/$basearch/
gpgcheck=0
enabled=1
這裏手動添加 Nginx 的 配置庫源,把 baseurl=http://nginx.org/packages/OS/OSRELEASE/$basearch/
中的 OS
換爲 centos
(取決於你的系統),用 7
(取決於你的版本)替換 OSRELEASE
,即 baseurl=http://nginx.org/packages/centos/7/$basearch/
, 然後 :wq
保存退出。
運行:
yum install nginx
1.3 啓動 Nginx 並通過瀏覽器訪問
# 啓動 nginx
cd /usr/sbin
./nginx
# 打開防火牆 80 端口
firewall-cmd --zone=public --add-port=80/tcp --permanent
# 重啓防火牆
firewall-cmd --reload
瀏覽器訪問服務器IP, 顯示
1.4 Nginx 操作常用命令
# 啓動nginx
/usr/sbin/nginx
# 停止 nginx
/usr/sbin/nginx -s stop
# 從容停止 nginx
/usr/sbin/nginx -s quit
# 重啓 nginx
/usr/sbin/nginx -s reload
# 查看nginx進程
ps aux | grep nginx
1.5 firewall 常規操作
Centos7 自帶 firewall 防火牆
systemctl start firewalld # 啓動
systemctl enable firewalld # 開機啓動
systemctl stop firewalld # 關閉
systemctl disable firewalld # 取消開機啓動
firewall 通過 firewall-cmd 管理具體規則:
$ firewall-cmd --help
1. 查看規則
# 查看運行狀態
firewall-cmd --state
# 查看已被激活的 Zone 信息
firewall-cmd --get-active-zones
# 查看指定接口的 Zone 信息
firewall-cmd --get-zone-of-interface=eth0
# 查看指定級別的接口
firewall-cmd --zone=public --list-interfaces
# 查看指定級別的所有信息,譬如 public
firewall-cmd --zone=public --list-all
# 查看所有級別被允許的信息
firewall-cmd --get-service
# 查看重啓後所有 Zones 級別中被允許的服務,即永久放行的服務
firewall-cmd --get-service --permanent
firewall-cmd --panic-on # 丟棄
firewall-cmd --panic-off # 取消丟棄
firewall-cmd --query-panic # 查看丟棄狀態
firewall-cmd --reload # 更新規則,不重啓服務
firewall-cmd --complete-reload # 更新規則,重啓服務
# 添加某接口至某信任等級,譬如添加 eth0 至 public,再永久生效
firewall-cmd --zone=public --add-interface=eth0 --permanent
# 設置 public 爲默認的信任級別
firewall-cmd --set-default-zone=public
2. 管理端口
# 列出 dmz 級別的被允許的進入端口
firewall-cmd --zome=dmz --list-ports
# 允許 tcp 端口 8080 至 dmz 級別
firewall-cmd --zone=dmz --add-port=8080/tcp
# 允許某範圍的 udp 端口至 public 級別,並永久生效
firewall-cmd --zome=public --add-port=5060-5059/udp --permanent
3. 管理服務
# 添加 smtp 服務至 work zone
firewall-cmd --zone=work --add-service=smtp
# 移除 work zone 中的 smtp 服務
firewall-cmd --zone=work --remove-service=smtp
4. 配置 ip 地址僞裝
# 查看
firewall-cmd --zone=external --query-masquerade
# 打開僞裝
firewall-cmd --zone=external --add-masquerade
# 關閉僞裝
firewall-cmd --zone=external --remove-masquerade
5. 端口轉發
# 要打開端口轉發,則需要先
# firewall-cmd --zone=external --add-masquerade
# 然後轉發 tcp 22 端口至 3753
firewall-cmd --zone=external --add-forward-port=port=22:proto=tcp:toport=3753
-----------------------------------
# 轉發 22 端口數據至另一個 ip 的相同端口上
firewall-cmd --zone=external --add-forward-port=port=22:proto=tcp:toaddr=192.168.1.100
# 轉發 22 端口數據至另一 ip 的 2055 端口上
firewall-cmd --zone=external --add-forward-port=port=22:proto=tcp:toport=2055:toaddr=192.168.1.100
二、MySQL 安裝與配置
2.1 安裝 Mysql
centos7 下沒有 yum install mysql-server
的安裝方法,由此,使用以下的安裝方法:
wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm
rpm -ivh mysql-community-release-el7-5.noarch.rpm
yum update
yum install mysql-server
# 啓動mysql
systemctl start mysqld
2.2 MySQL 初始化設置
# 運行下面命令進入初始化設置
mysql_secure_installation
2.2.1 修改 Mysq 默認密碼
首先是設置root密碼,初次登錄時默認爲空,直接點回車,然後輸入兩次root新密碼
2.2.2 刪除匿名用戶
隨後,會選擇是否刪除匿名用戶(不需要賬戶就可以登入mysql),選擇 y
,如圖
2.3.4 允許遠程連接
默認情況下,root 用戶只允許連接 localhost
,這可以防止其他用戶通過遠程登錄到 root,這裏依據自己的情況選擇,在項目中,需要通過遠程登錄 root 用戶,這裏選了 n
,如圖:
2.3.5 刪除測試數據庫
刪除測試數據庫, 選y
:
2.3.6 數據庫計時實時更新
最後,選擇數據庫計時更新,選擇 y
:
2.4 創建 Mysql 用戶
# root用戶登錄
mysql -u root -p
create database wordpress charset utf8;
# 列出數據庫(如下圖)
show databases;
# 退出數據庫
exit;
# 重啓數據庫
systemctl restart mysqld
三、PHP、Vsftpd 安裝配置
3.1 配置 PHP
# 先安裝 php-mysql 和 php-fpm,如果已有,則跳過
yum –y install php-mysql
yum –y install php-fpm
# 運行
yum -y install php* --skip-broken
# 編輯 php 配置文件
vim /etc/php.ini
# 添加
extension=mysql.so
# 找到 extension_dir 並設爲
extension_dir = "/usr/lib64/php/modules"
# 重啓 php 服務
systemctl restart php-fpmmv
3.2 Vsftpd 安裝與配置
# 安裝
yum -y install vsftpd
# 啓動服務
systemctl start vsftpd
# 新建 ftp home 目錄
mkdir /ftpuserdata
# 爲 ftp 創建用戶 ftpuser,指定目錄 /ftpuserdata/www/
useradd ftpuser -d /ftpuserdata/www/ -s /sbin/nologin
# 設置密碼
passwd ftpuser
# 編輯 FTP 配置文件
vim /etc/vsftpd/vsftpd.conf
# 將匿名登錄禁用
anonymous_enable=NO
# 保存退出後,給 www 目錄設置讀寫權限
chmod -R 777 /ftpuserdata/www/
# 重啓
systemctl restart vsftpd
四、Wordpress 安裝及相關配置
4.1 安裝 wordpress
# 安裝
# 進入目錄
cd /ftpuserdata/www/
#下載
wget https://wordpress.org/latest.zip
# 解壓
unzip latest.zip
4.2 配置 WordPress
修改 WordPress 的配置文件
vim /ftpuserdata/www/wordpress/wp-config-sample.php
保存退出,重命名 WordPress 配置文件
mv /ftpuserdata/www/wordpress/wp-config-sample.php /ftpuserdata/www/wordpress/wp-config.php
4.3 修改 wp 相關配置
根據 WordPress 目錄修改 nginx 配置,以及 php 的 cgi 設置:
vim /etc/nginx/conf.d/default.conf
修改完之後,重啓相關服務。
systemctl restart vsftpd
systemctl restart php-fpm
systemctl restrat nginx
瀏覽器打開 IP 地址,既可以到 WordPress 的初始化界面。這樣一個 WordPress 網站就搭好了。
五. 相關問題及解決
更換主題時, 出現沒有上級目錄的寫權限
WordPress create directory wp-content/uploads/2018/11.
解決
cd /ftpuserdata/www
mkdir wordpress/wp-content/
chmod 777 wordpress/wp-content/uploads/
【相關鏈接】