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安装
1 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安装
1. 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 '你自己的密码'; # 修改密码
quit
开启远程登录(看个人)
MysqL -uroot -pWanghan@1031
grant all on *.* to root@'%' identified by '你自己的密码';
flush privileges;
PHP安装 (两种方式)
(1)yum安装PHP7.2 (个人推荐的方式)
1 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 (不推荐的方式)
1 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扩展支持
# 查看有哪些扩展可以安装
1 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扩展支持
1. 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
1. 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等等
1
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文件夹下都是子配置文件
1在Nginx.conf 中的http {}添加 client_max_body_size 20M; 对文件上传配置大小
2在/etc/Nginx/conf.d 中的创建文件 比如说http https 域名配置
vim laravel.conf
vim https.laravel.conf
4.composer安装
1.PHP -r "copy('https://install.PHPcomposer.com/installer', '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/
5.防火墙相关
centos7 防火墙由 firewalld 来管理,而不是 iptables
#查看防火墙状态
systemctl status firewalld
#重启防火墙
systemctl restart firewalld
#开放指定端口或者范围端口
// --permanent 永久生效,没有此参数重启后失效
firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --zone=public --add-port=1000-2000/tcp --permanent
# 重新载入
firewall-cmd --reload
#查看某个端口是否开放
firewall-cmd --zone=public --query-port=80/tcp
#查看服务器开放了哪些端口
firewall-cmd --zone=public --list-ports
#删除端口
firewall-cmd --zone=public --remove-port=80/tcp --permanent
# 自己的虚拟机可以直接关闭防火墙
systemctl stop firewalld
systemctl disable firewalld.service
https://blog.csdn.net/wh2691259/article/details/53261807
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。