花了一點時間搞定,自己虛擬機的環境,做點記錄
1.LNMP環境的安裝
中文:http://www.lnmp.cn/installing-php7-mysql57-nginx18-under-centos7.html
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.conf
、php-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配置文件說明
常用的配置修改
-
在
nginx.conf
中的http {}
添加client_max_body_size 20M;
對文件上傳配置大小 -
在
/etc/nginx/conf.d
中的創建文件 比如說http https 域名配置vim laravel.conf
```bash
vim https.laravel.conf
```
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/