听过平庸和优秀的 PHPer 就差一篇博文

欢迎来到Abner的博客,刚开始学习PHPer, 或多或少都会为了部署一个稳定的开发环境懊恼。
今天我们就一起来学习一下Wins+Linux的环境部署

一. Wins环境

  • 推荐使用WAMP: W->windows A->apache M->mysql P->php
  • 下载地址: http://www.wampserver.com/en/
  • 选择合适自己电脑的版本:
    听过平庸和优秀的 PHPer 就差一篇博文
  • Wamp是傻瓜式安装,全部选择默认安装即可
  • 安装完成之后,启动程序待图标变成绿色说明已成功安装
  • 在浏览器输入127.0.0.1 或者 localhost 即可看到欢迎页面
  • 到此已完成安装,在安装目录下www文件夹中,新建一个index.php
    <?php
    echo phpinfo();

听过平庸和优秀的 PHPer 就差一篇博文

二. Linux环境

  • 在linux环境中一般都是部署性能更优的Nginx,便于支持更多的并发。具体的请自行Google
  • 因此在Linux的环境的PHP环境一般叫做,LNMP:Linux+Nginx+Mysql+PHP
    我购买的阿里云是centos7.3的.在Linux下,搭建服务最好当然是LNMP了,毕竟PHP是世界上最好的语言(开玩笑了 0.0)。当然LAMP也很好,我就是Apache从转投Nginx的,就因为Nginx配置简单,资源占用低.当然Apache也有他的优点,孰优孰劣,还是要根据自己的需要取舍吧。
    言归正传,LNMP是Linux、Nginx、MySQL(Mariadb)、PHP。在centos上,默认的数据不再是MySQL了,成了Mariadb,这是MySQL的社区版,基本上是完全兼容MySQL的,对普通开发者而言,基本感觉得不到差别的。
    开始搭建环境

安装Nginx
安装Nginx,在Linux上可是使用yum安装Nginx,也可以编译源码安装,鉴于我购买的服务器性能的原因,我还是用yum安装吧.

使用

yum search nginx

查看是否Nginx包,阿里云的centos默认是有Nginx包的.
使用

yum -y install nginx

使用-y会自动解决依赖问题
等待安装完成,没有报错的话,安装成功了。使用

service nginx start

开启Nginx服务,使用

systemctl enable nginx

把Nginx设为开机启动。
使用curl 127.0.0.1看一下,返回html代码,说明成功了
安装Mariadb或者MySQL
安装Mariadb或者MySQL,在centos中,Mariadb可以直接使用yum安装。由于centos的yum中默认没有MySQL的源,必须手动添加MySQL源,才能安装。

安装Mariadb:

yum -y install mariadb mariadb-server

不出意外的话,会成功安装.

service mariadb start

开启Nginx服务,使用

systemctl enable mariadb

把mariadb设为开机启动。
简单配置Mariadb 输入

mysql_secure_installation

1.显示 Enter current password for root (enter for none): 第一次运行直接回车
2.Set root password? [Y/n] 是否设置root用户密码,输入y并回车或直接回车
3.New password: 设置root用户的密码
4.Re-enter new password: 再输入一次你设置的密码
5.Remove anonymous users? [Y/n] 是否删除匿名用户,回车
6.Disallow root login remotely? [Y/n] 是否禁止root远程登录,回车,
7.Remove test database and access to it? [Y/n] 是否删除test数据库,回车
8.Reload privilege tables now? [Y/n] 是否重新加载权限表,回车

mysql -uroot -ppassword

登录测试一下
centos中的Mariadb版本是5.5,对标的MySQL5.5版本,最新的稳定版Mariadb是10.3,怎么安装最新版的Mariadb等以后有时间再更新

安装MySQL:

添加MySQL的yum源wget https://repo.mysql.com//mysql80-community-...
rpm -Uvh platform-and-version-specific-package-name.rpm添加MySQL
现在默认会安装MySQL8.0版本,如果想要5.7大的话 1.yum-config-manager --disable mysql80-community 2.yum-config-manager --enable mysql57-community
开始安装yum install mysql-community-server
service mysqld start开启MySQL服务,
systemctl enable mysql 设为开机启动
这时候MySQL是没有没密码的,需要找到密码sudo grep 'temporary password' /var/log/mysqld.log能看到密码
8.登录,mysql -uroot -p 看到的密码
修改密码 ALTER USER 'root'@'localhost' IDENTIFIED BY 'newpassword';
附上MySQL官网的安装教程传送门

安装php
php可以使用源码安装,也可以使用yum安装,鉴于我的服务器的性能,还是选择了yum安装。yun安装首先要添加源。

配置yum源

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

安装php7.2和需要的拓展

yum -y install php72w php72w-cli php72w-common php72w-devel php72w-embedded php72w-fpm php72w-gd php72w-mbstring php72w-mysqlnd php72w-opcache php72w-pdo php72w-xml

如果应用yum安装redis的话

yum -y install php72w-pecl-redis

开启php-fpm 服务,

service php-fpm start
systemctl enable php-fpm

设为开机启动
好了LNMP需要的软件都安装好了,简单配置一下

配置
Nginx配置

cd /etc/nginx/
vim nginx.conf

修改配置文件

server {
       listen       80 default_server;
       listen       [::]:80 default_server;
       server_name  _;
       root        /home/www/default;

       return 500;#我禁用了ip访问
       # Load configuration files for the default server block.
       include /etc/nginx/default.d/*.conf;

           error_page 404 /404.html;
           location = /40x.html {
       }

       error_page 500 502 503 504 /50x.html;
           location = /50x.html {
       }

       location ~ \.php$ {
           root /home/www/default;
           fastcgi_pass   127.0.0.1:9000;
           fastcgi_index  index.php;
           fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
           include        fastcgi_params;
       }
   }
php相关的部分是这里

location ~ \.php$ {
           root /home/www/default;
           fastcgi_pass   127.0.0.1:9000;
           fastcgi_index  index.php;
           fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
           include        fastcgi_params;
       }

重启

Nginx,service nginx restart

好了去 Nginx的的root目录里新建一个info.php文件,测试一下

<?php
phpinfo();
?>

访问一下你的服务器看一下,能看到php的信息,说明已经配置好了

到这里,LNMP开发环境已经搭建好了,可以愉快的开发了。

php
本作品采用《CC 协议》,转载必须注明作者和本文链接
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!