新購(gòu)入一臺(tái)阿里云服務(wù)器,系統(tǒng)版本是CentOS 7.4,以下是搭建PHP環(huán)境的步驟
一、部署yum源
1、打開(kāi)centos的yum文件夾
輸入命令cd /etc/yum.repos.d/
2、用wget下載repo文件
輸入命令wget http://mirrors.aliyun.com/repo/Centos-7.repo
如果wget命令不生效,說(shuō)明還沒(méi)有安裝wget工具,輸入yum -y install wget回車進(jìn)行安裝。
當(dāng)前目錄是/etc/yum.repos.d/,剛剛下載的Centos-7.repo也在這個(gè)目錄上
3、備份系統(tǒng)原來(lái)的repo文件
mv CentOS-Base.repo CentOS-Base.repo.bak
即是重命名 CentOS-Base.repo -> CentOS-Base.repo.bak
4、替換系統(tǒng)原理的repo文件
mv Centos-7.repo CentOS-Base.repo
即是重命名 Centos-7.repo -> CentOs-Base.repo
5、執(zhí)行yum源更新命令
yum clean all
yum makecache
yum update
但是阿里云的源有時(shí)候缺很多東西
可以繼續(xù)安裝其他源
安裝epel源
yum install epel-release
安裝remi源
yum install -y http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
然后進(jìn)入到/etc/yum.repos.d/目錄看一下源列表
yum repolist
二、yum源配好了下面就可以安裝軟件了
1、先隨便安裝個(gè)vim測(cè)試一下
yum install vim
下面開(kāi)始安裝PHP環(huán)境
2、安裝PHP
通過(guò)search搜索合適的PHP源
yum search php7
這時(shí)候會(huì)列出一堆帶php7的源,如果想更詳細(xì)可以選php72或者php73等版本,如果發(fā)現(xiàn)沒(méi)有從remi源里搜索
可以加上選擇什么源
yum --enablerepo=remi search <keyword>
可以通過(guò)yum info <包名>查看包的具體版本等信息
依次執(zhí)行安裝php
yum install php73
yum install php73-php-fpm
3、安裝nginx,發(fā)現(xiàn)源里面的nginx版本比較舊,通過(guò)以下方式安裝新的
wget http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
rpm -ivh nginx-release-centos-7-0.el7.ngx.noarch.rpm
yum install nginx
4、接下來(lái)安裝mysql
首先centOS 7 自帶一個(gè)mariadb,需要卸載掉,否則會(huì)跟mysql沖突
rpm -qa | grep mariadb //列出來(lái)服務(wù)器上安裝的mariadb包
rpm -e --nodeps mariadb-libs-5.5.56-2.el7.x86_64 //移除掉安裝的包(包名從剛才的列表里粘貼)
依然是和nginx類似的步驟獲取比較新的mysql 5.7版本
wget http://repo.mysql.com//mysql57-community-release-el7-7.noarch.rpm
rpm -Uvh mysql57-community-release-el7-7.noarch.rpm
yum install mysql-community-server //安裝服務(wù)端
mysql5.7之后的版本為了安全起見(jiàn)會(huì)隨機(jī)生成一個(gè)初始密碼放在/var/log/mysqld.log?
找到日志中的
> A temporary password is generated for root@localhost:
之類就是初始密碼。
修改mysql密碼
拿到初始密碼之后,登錄mysql修改密碼
mysql -u root -p
- 1: 修改密碼,必須有大小寫(xiě),含數(shù)字特殊符號(hào),長(zhǎng)度8位及以上
> SET PASSWORD = 'your password'; - 2: 設(shè)置密碼不過(guò)期;
> ALTER USER root@localhost PASSWORD EXPIRE NEVER; - 3: 刷新權(quán)限表;
> flush privileges;
然后打開(kāi)nginx配置目錄
新建pksfc.conf
server {
listen 80;
server_name www.pksfc.com;
root /var/www/html;
# Load configuration files for the default server block.
include /etc/nginx/default.d/*.conf;
location / {
index index.html;
if (!-e $request_filename) {
rewrite ^(.*)$ /404.html last;
break;
}
error_page 404 /var/www/html/404.html;
}
location ~ \.php(.*)$ {
fastcgi_pass 127.0.0.1:9000;
#fastcgi_pass unix:/var/run/php-fpm.sock;
fastcgi_index index.php;
fastcgi_split_path_info ^((?U).+\.php)(/?.+)$;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;
include fastcgi_params;
fastcgi_keep_conn on;
fastcgi_connect_timeout 180;
fastcgi_read_timeout 600;
fastcgi_send_timeout 600;
fastcgi_buffer_size 128k;
fastcgi_buffers 8 64k;
fastcgi_busy_buffers_size 256k;
fastcgi_temp_file_write_size 256k;
}
}
server {
listen 443 ssl http2;
server_name www.pksfc.com;
root /var/www/html;
ssl on;
ssl_certificate /etc/nginx/1_www.pksfc.com_bundle.crt;
ssl_certificate_key /etc/nginx/2_www.pksfc.com.key;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_session_timeout 5m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
ssl_dhparam /etc/nginx/ssl/dhparam.pem;
add_header Strict-Transport-Security "max-age=31536000; includeSubdomains; preload";
add_header X-Frame-Options SAMEORIGIN;
add_header X-Content-Type-Options nosniff;
location / {
index index.html;
if (!-e $request_filename) {
rewrite ^(.*)$ /404.html last;
break;
}
error_page 404 /var/www/html/404.html;
}
location ~ \.php(.*)$ {
fastcgi_pass 127.0.0.1:9000;
#fastcgi_pass unix:/var/run/php-fpm.sock;
#fastcgi_index index.php;
fastcgi_split_path_info ^((?U).+\.php)(/?.+)$;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;
#include fastcgi_params;
fastcgi_index index.php;
fastcgi_connect_timeout 180;
fastcgi_read_timeout 600;
fastcgi_send_timeout 600;
fastcgi_buffer_size 128k;
fastcgi_buffers 8 64k;
fastcgi_busy_buffers_size 256k;
fastcgi_temp_file_write_size 256k;
#fastcgi_param SCRIPT_FILENAME $request_filename;
include fastcgi_params;
fastcgi_keep_conn on;
}
}
然后restart nginx之后就可以通過(guò)域名去訪問(wèn)了
如果想設(shè)置開(kāi)機(jī)自啟動(dòng)的話就執(zhí)行下面的語(yǔ)句
chkconfig nginx on
chkconfig php72-php-fpm on
chkconfig supervisord on
5、最后一步補(bǔ)充PHP擴(kuò)展,當(dāng)你發(fā)現(xiàn)缺少了某些擴(kuò)展的時(shí)候依然是通過(guò)以下命令
yum search php-mysql
yum install -y php73-php-mysqlnd.x86_64
service php73-php-fpm restart
去搜索安裝對(duì)應(yīng)擴(kuò)展并重啟php-fpm服務(wù)
其他的如redis,mongodb,等參考上面例子安裝即可
大功告成?。?!