一. MySQL安裝與配置
1. 配置yum源
# 更新yum源
yum update 複製程式碼
# 下載mysql源安裝包
wget http://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm複製程式碼
# 安裝mysql源
yum localinstall mysql57-community-release-el7-8.noarch.rpm複製程式碼
# 檢查mysql源是否安裝成功
yum repolist enabled | grep "mysql.*-community.*"複製程式碼
2. 安裝MySQL
yum install mysql-community-server複製程式碼
3. 啟動MySQL
# 啟動MySQL服務
systemctl start mysqld複製程式碼
# 檢視MySQL的啟動狀態
systemctl status mysqld複製程式碼
# 設定MySQL開機啟動
systemctl enable mysqld
systemctl daemon-reload複製程式碼
4. 修改root預設密碼
# 找到root預設密碼
grep 'temporary password' /var/log/mysqld.log複製程式碼
# 進入mysql控制檯, 輸入上述查詢到的預設密碼
mysql -uroot -p複製程式碼
# 設定root管理員的密碼
set password for 'root'@'localhost'=password('PassWord123@'); 複製程式碼
5.新增遠端登入使用者
預設只允許root帳戶在本地登入,如果要在其它機器上連線mysql,必須修改root允許遠端連線,或者新增一個允許遠端連線的帳戶
# 新增遠端帳戶
GRANT ALL PRIVILEGES ON *.* TO 'yourname'@'%' IDENTIFIED BY 'YourPassword@123' WITH GRANT OPTION;複製程式碼
6. 配置預設編碼為utf8
修改配置檔案 /etc/my.cnf,新增下面兩行, utf8編碼配置
character_set_server=utf8
init_connect='SET NAMES utf8'複製程式碼
二. PHP環境配置
1. 安裝 php 和 php-fpm
# 首先安裝epel
yum -y install epel-release複製程式碼
# 安裝php php-fpm
yum -y install php php-fpm複製程式碼
# 檢視php版本
php -v複製程式碼
2. 安裝php-mysql
yum install php-mysql複製程式碼
3. 設定php-fpm開機自動啟動
systemctl enable php-fpm複製程式碼
4. 啟動php-fpm
systemctl start php-fpm複製程式碼
三. Nginx安裝與配置
# 下載安裝包
wget http://nginx.org/download/nginx-1.10.0.tar.gz複製程式碼
# 解壓Nginx的tar包,並進入解壓好的目錄
tar -zxvf nginx-1.10.0.tar.gz
cd nginx-1.10.0/複製程式碼
# 安裝zlib和pcre庫
yum -y install zlib zlib-devel
yum -y install pcre pcre-devel複製程式碼
# 配置、編譯並安裝
./configure--with-http_ssl_module\
make
make install複製程式碼
# 啟動nginx
/usr/local/nginx/sbin/nginx複製程式碼
訪問伺服器後如下圖顯示說明Nginx運正常。
# nginx 配置訪問專案目錄並支援 PHP 的 pathinfo 模式配置
server {
listen 80;
server_name xxx.xxxx.com; # 你的域名
location / {
root /var/www/xxx專案目錄/;
index index.php;
}
location ~ ^(.+\.php)(.*)$ {
root /var/www/xxx專案目錄/;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_split_path_info ^(.+\.php)(.*)$;
fastcgi_param PATH_INFO $fastcgi_path_info;
if (!-e $document_root$fastcgi_script_name) {
return 404;
}
fastcgi_param SCRIPT_FILENAME$document_root$fastcgi_script_name;
include fastcgi_params;
}
}複製程式碼
常用指令
mysql
systemctl start mysqld # 啟動
systemctl stop mysqld # 停止
systemctl restart mysqld # 重啟
php-fpm
systemctl start php-fpm # 啟動
systemctl stop php-fpm # 停止
systemctl restart php-fpm # 重啟
nginx
sudo fuser -k 80/tcp # 殺死80埠
/usr/local/nginx/sbin/nginx # 開啟
/usr/local/nginx/sbin/nginx -s stop # 停止
/usr/local/nginx/sbin/nginx -s reopen # 重啟
/usr/local/nginx/sbin/nginx -s reload # 重新載入配置檔案
其他問題
1. 關閉SELINUX(SELINUX是一個安全子系統,它能控制程式只能訪問特定檔案。如果不關閉,你可能訪問檔案受限):
vi /etc/selinux/config
#SELINUX=enforcing # 註釋掉
#SELINUXTYPE=targeted # 註釋掉
SELINUX=disabled # 增加
:wq! # 儲存退出
shutdown -r now # 重啟系統複製程式碼
2. thinkphp 提示錯誤目錄 [ ./Runtime/ ] 不可寫!
chmod 777 -R /var/www/xxx專案目錄/Application/Runtime複製程式碼
福利: 本文已同步到我的個人技術網站 IT乾貨-sufaith 該網站包括Python, Linux, Nodejs, 前端開發等模組, 專注於程式開發中的技術、經驗總結與分享, 歡迎訪問.