CENTOS7 下配置PHP + MySQL + Nginx開發環境

一. MySQL安裝與配置

1. 配置yum源php

# 更新yum源css

yum update

# 下載mysql源安裝包html

wget http://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm

# 安裝mysql源 mysql

yum localinstall mysql57-community-release-el7-8.noarch.rpm

# 檢查mysql源是否安裝成功linux

yum repolist enabled | grep "mysql.*-community.*"

2. 安裝MySQLnginx

yum install mysql-community-server

3. 啓動MySQL

# 啓動MySQL服務sql

systemctl start mysqld

# 查看MySQL的啓動狀態thinkphp

systemctl status mysqld

# 設置MySQL開機啓動centos

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安裝與配置

一、添加源

  默認狀況Centos7中無Nginx的源,最近發現Nginx官網提供了Centos的源地址。所以能夠以下執行命令添加源:

sudo rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm

 

二、安裝Nginx

  經過yum search nginx看看是否已經添加源成功。若是成功則執行下列命令安裝Nginx。

sudo yum install -y nginx

 

三、啓動Nginx並設置開機自動運行

sudo systemctl start nginx.service
sudo systemctl enable nginx.service


# nginx 配置訪問項目目錄並支持 PHP 的 pathinfo 模式配置

 

修改 /etc/nginx/conf.d/default.conf
 server {
        #偵聽80端口
        listen       80;
        index index.php index.html index.htm;
        #設定本虛擬主機的訪問日誌
        server_name  localhost;
        root /var/www/blog/public;
        #rewrite_log on;
        #access_log  logs/hc-admin.access.log  main;
        #error_log  logs/hc-admin.access.log  main;
    location ~ .*\.(gif|jpg|jpeg|bmp|png|ico|txt|js|css|ttf|woff|woff2)$
    {
        root /var/www/blog/public;
    }
    location / {  
        index  index.htm index.html index.php;  
 
        if (!-e $request_filename) {  
           rewrite  ^/(.*)$  /index.php/$1  last;  
           break;  
        }  
    }  
    location ~ \.php/?.*$ {  
        root        /var/www/blog/public;  
        fastcgi_pass   127.0.0.1:9000;  
        fastcgi_index  index.php;  
        #加載Nginx默認"服務器環境變量"配置  
        #include        fastcgi.conf;  
        include fastcgi_params; 
       
        set $fastcgi_script_name2 $fastcgi_script_name;  
        if ($fastcgi_script_name ~ "^(.+\.php)(/.+)$") {  
            set $fastcgi_script_name2 $1;  
            set $path_info $2;  
        }  
        fastcgi_param   PATH_INFO $path_info;  
        fastcgi_param   SCRIPT_FILENAME   $document_root$fastcgi_script_name2;  
        fastcgi_param   SCRIPT_NAME   $fastcgi_script_name2;  
    }
    } 


配置ssl

先把監聽端口換掉 並打開ssl 而後添加ssl證書  地址按照本身的位置修改
  listen       443;
  ssl                  on;
  #證書地址
  ssl_certificate      /etc/nginx/server.crt;
  ssl_certificate_key  /etc/nginx/server.key;
  ssl_session_timeout  5m;


經常使用指令

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
相關文章
相關標籤/搜索