CentOS7下PHP7.2,MySQL5.7,Nginx1.10以及對應的redis,swoole擴展的安裝與配置

花了一點時間搞定,自己虛擬機的環境,做點記錄

1.LNMP環境的安裝

中文:http://www.lnmp.cn/installing-php7-mysql57-nginx18-under-centos7.html

英文:https://www.digitalocean.com/community/tutorials/how-to-install-linux-nginx-mysql-php-lemp-stack-on-centos-7

Mysql密碼如果遇到了問題,解決方式:http://www.07net01.com/2016/08/1640807.html

Nginx安裝

 rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
 yum install nginx
 nginx -v
 systemctl enable nginx  // 開機啓動
 systemctl start nginx
 systemctl status nginx

Mysql5.7安裝

 rpm -Uvh http://dev.mysql.com/get/mysql57-community-release-el7-7.noarch.rpm
 yum install mysql-community-server mysql-community-devel
 systemctl status mysqld
 systemctl start mysqld

 # 修改mysql數據庫的密碼
 grep 'temporary password' /var/log/mysqld.log # 顯示密碼
 mysql -uroot -p  # 用上面的密碼進入
 ALTER USER 'root'@'localhost' IDENTIFIED BY 'Wanghan@1031'; # 修改密碼
 quit

PHP安裝 (兩種方式)

(1)yum安裝php7.2 (個人推薦的方式)

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
yum -y install php72w php72w-fpm
yum -y install php72w-mbstring php72w-common php72w-gd php72w-mcrypt
yum -y install php72w-mysql php72w-xml php72w-cli php72w-devel
yum -y install  php72w-opcache php72w-bcmath

#修改php-fpm的運行用戶和用戶組
vim /etc/php-fpm.d/www.conf

# 在第八行 和第十行的 用戶user= www  修改成 user = nginx   用戶組group= www  修改成 group = nginx

# 設置開機啓動
 systemctl enable php-fpm
 # 查看狀態
 systemctl status php-fpm
 # 重啓
 systemctl restart php-fpm

(2)編譯安裝php7.2 (不推薦的方式)

 cd /usr/local/src
 wget -c http://cn2.php.net/distributions/php-7.2.4.tar.gz
 tar -zxvf php-7.2.4.tar.gz
 cd php-7.2.4/
 yum -y install libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel curl curl-devel openssl openssl-devel
 ./configure --prefix=/usr/local/php7 --enable-fpm --with-fpm-user=nginx --with-fpm-group=nginx --with-mysqli --with-zlib --with-curl --with-gd --with-jpeg-dir --with-png-dir --with-freetype-dir --with-openssl --enable-mbstring --enable-xml --enable-session --enable-ftp --enable-pdo -enable-tokenizer --enable-zip
 make
 make install

 cp php.ini-development /usr/local/php7/lib/php.ini # 配置文件處理

 // 修改php.ini配置
 vim /usr/local/php7/lib/php.ini  # 查找下面的參數,修改下面的東西
 mysqli.default_socket = /var/lib/mysql/mysql.sock  # 這個不是命令注意下,記錄修改php.ini
 date.timezone = PRC
 
 /usr/local/php7/bin/php -m

 cp /usr/local/php7/etc/php-fpm.conf.default /usr/local/php7/etc/php-fpm.conf
 cp /usr/local/php7/etc/php-fpm.d/www.conf.default /usr/local/php7/etc/php-fpm.d/www.conf
 cp sapi/fpm/php-fpm.service /usr/lib/systemd/system/

 // 修改php-fpm配置   
 vim /usr/lib/systemd/system/php-fpm.service # 修改下面的兩行
 PIDFile=/usr/local/php7/var/run/php-fpm.pid
 ExecStart=/usr/local/php7/sbin/php-fpm --nodaemonize --fpm-config /usr/local/php7/etc/php-fpm.conf

 systemctl daemon-reload
 systemctl enable php-fpm
 systemctl start php-fpm
 systemctl status php-fpm

2.php7.2擴展安裝(舉例redis/mongo)

擴展安裝:https://www.iamle.com/archives/1989.html

2.1 yum安裝php7.2的mongodb redis擴展支持

 # 查看有哪些擴展可以安裝
 yum list | grep php72w
 # 選擇對應的擴展
 yum install -y  php72w-pecl-mongodb
 # redis  不推薦安裝此擴展  因爲laravel 都使用 `predis` 擴展
  yum install -y  php72w-pecl-redis

2.2 編譯安裝php7.2的redis和 swoole擴展支持

wget -c https://github.com/phpredis/phpredis/archive/php7.zip
unzip php7.zip

cd phpredis-php7
/usr/local/php7/bin/phpize
./configure --with-php-config=/usr/local/php7/bin/php-config
make
make install

/usr/local/php7/lib/php.ini中加入extension=redis.so

wget -c https://github.com/swoole/swoole-src/archive/v2.0.5.tar.gz
tar zxvf v2.0.5.tar.gz
cd swoole-src-swoole-2.0.5-stable/
/usr/local/php7/bin/phpize
./configure --with-php-config=/usr/local/php7/bin/php-config
make
make install

/usr/local/php7/lib/php.ini中加入extension=swoole.so

注: 如果安裝了php-dev的話,可以直接用pecl install 安裝。 先去http://pecl.php.net/ 查看對應的擴展包 運行

pecl install swoole # redis等等

3.對應的配置文件說明 (很重要!!)

配置文件一般都在 /etc下面。比如nginx的是 /etc/nginx/nginx.confphp-fpm的是/etc/php-fpm.conf。我發現配置文件都有個規律 一般都是在總的conf文件裏面有個 include 的東西。/etc/php-fpm.conf裏有include=/etc/php-fpm.d/*.conf; nginx.conf裏有include /etc/nginx/conf.d/*.conf;再如supervisor這款軟件也有include /etc/supervisor.d/*.ini ,可以發現這些規律,一般配置都是可尋的 外層總的配置文件一般配置通用的參數,*.d文件夾下都是子配置文件

3.1 nginx配置文件說明

常用的配置修改

  1. nginx.conf 中的http {}添加 client_max_body_size 20M; 對文件上傳配置大小

  2. /etc/nginx/conf.d 中的創建文件 比如說http https 域名配置

    vim laravel.conf
    

http網站的配置

```bash
vim https.laravel.conf
```

https網站的配置

4.composer安裝

php -r "copy('https://install.phpcomposer.com/installer', 'composer-setup.php');"

php composer-setup.php

php -r "unlink('composer-setup.php');"

sudo mv composer.phar /usr/local/bin/composer

# 配置阿里雲
composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章