Centos7.6搭建LNMP環境
- 2020 年 4 月 9 日
- 筆記
系統為centos7.6 nginx為1.12 php為7.2 MySQL為8.0.16
nginx服務
- 安裝依賴
sudo yum install -y yum-utils
- 安裝nginx服務
sudo yum install -y nginx
- 配置
nginx
支持php location ~ .php$ { try_files $uri =404; root /usr/share/nginx/html; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi.conf; } 其中第五行是你的web目錄,我的(centos7.6+nginx1.12)環境默認在usr/share/nginx/html
這個位置
安裝php環境
- 如果之前安裝過
php
服務那麼請先卸載吧yum -y remove php*
- 由於linux的yum源不存在php7.x,所以我們要改yum源 rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
- 安裝php72w和各種擴展,選擇自己需要的即可
yum -y install php72w php72w-cli php72w-common php72w-devel php72w-embedded php72w-fpm php72w-gd php72w-mbstring php72w-mysqlnd php72w-opcache php72w-pdo php72w-xml
- 編輯php.ini 在文件中(
vim /etc/php.ini
)找到;cgi.fix_pathinfo=1
改成cgi.fix_pathinfo=0
- 創建nginx用戶和組 groupadd -r nginx useradd -r -g nginx nginx 這一步是為了保險,分別輸入以上指令即可,不用管提示
- 編輯php-fmp文件
vim /etc/php-fpm.d/www.conf
將圖中的user = xxx
和group = xxx
改為user = nginx
group = nginx
- nginx偽靜態設置(防止文章頁404) server{ location / { if (-f $request_filename/index.html){ rewrite (.*) $1/index.html break; } if (-f $request_filename/index.php){ rewrite (.*) $1/index.php; } if (!-f $request_filename){ rewrite (.*) /index.php; } } }
- 啟動fpm、設置開啟啟動並重啟nginx systemctl start php-fpm systemctl enable php-fpm systemctl restart nginx
安裝MySQL8.0服務
- 首先去官網查看一下最新的安裝包
- 下載MySQL源安裝包
可以下載下來,用xshell
工具上傳到服務器,也可以用命令直接在服務器上下載wget http://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm
- 安裝剛才下載的yum源
yum -y install mysql80-community-release-el7-3.noarch.rpm
- 查看一下安裝效果
- 好了,開始安裝!
yum install mysql-community-server
這裡可以去喝一杯茶了,時間真的很長!! - 安裝完成 啟動MySQL服務
systemctl start mysqld.service
可能會卡頓一下 - 查看MySQL運行狀態
systemctl status mysqld.service
- 初始化數據庫密碼 查看初始密碼
grep "password" /var/log/mysqld.log
用後面那個密碼登陸賬戶root
- 登陸
mysql -uroot -p
密碼是上一步獲取到的 - 改密碼
ALTER USER 'root'@'localhost' IDENTIFIED BY '****************';
****換成你的密碼即可。 mysql默認安裝了密碼安全檢查插件(validate_password),默認密碼檢查策略要求密碼必須包含:大小寫字母、數字和特殊符號,並且長度不能少於8位。否則會提示ERROR 1819 (HY000): Your password does not satisfy the current policy requirements錯誤 - 設置自動啟動
systemctl enable mysqld
systemctl daemon-reload
創建新用戶
create user 'username'@'localhost' identified by 'password';
修改認證方式以登陸phpmyadmin
ALTER USER 'username'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的密碼';
創建數據庫
create typecho;
賦予數據庫所有權
grant all on database.* to 'username'@'localhost' ;