CentOS安装wordpress环境详细PHP7.2+Nginx+Mysql

对于一个Linux小白来说,想要非界面话安装一套环境实属不易。之前在很多地方看到过,wp最适应最快的环境是Linux,但是始终没有勇气去碰触,这段时间,我觉得应该学习一下Linux,在学习之初,先搭建这样一套环境。以下是具体的流程:

php环境安装:

一、目前php最高稳定版本是7.2,wordpress中也建议采用该版本。若直接采用centos中的yum安装:sudo yum -y install php,默认安装版本是5.4,而我最初也是这样安装的,而我需要的php7.2,所以我必须先卸载php5.4才能安装php7.2。若你也需要卸载之前版本,请移步这篇文章xxxx

二、手动更新rpm:

  1. rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm   
  2. rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm 

然后可以利用 sudo yum list php*查看目前都有php的什么版本了,可以发现从4-7.2的版本都有,7.2版本名为72w,因此安装该版本即可:

  1. sudo yum -y install php72w

但安装完毕后,输入php -v发现并没有该命令,而且如果用rpm -qa|grep php查看的话,只有一个mod_php72w开头的一个小包,这是因为php72w只是安装了php最小的库,一些应用包还未安装。

三、安装一些拓展包即可:

  1. yum -y install php72w-cli php72w-common php72w-devel php72w-mysqlnd

对于wordpress应用,可能还需安装如下包:

  1. sudo yum -y install php72w-gd php72w-imap php72w-ldap php72w-odbc php72w-pear php72w-xml php72w-xmlrpc php72w-fpm php72w-mbstring php72w-pdo

然后输入php -v出现如下信息,就代表已经安装完毕:

这里特别注意一个问题,上面的安装的包里面包含了一个php-fpm,这个是需要启动的,不启动会打不开网站。所以安装php的最后一步要启动以下php-fpm,并设置为开机启动。启动命令如下:

  1. systemctl start php-fpm
  2. systemctl enable php-fpm

详情参阅https://www.inqingdao.cn/585.html

Nginx安装:

一、安装nginx

  1. yum install nginx

二、启动nginx服务

  1. systemctl start nginx

除了systemctl start nginx之外,常用的相关命令还有systemctl stop nginx、systemctl restart nginx、systemctl status nginx

三、测试nginx是否安装成功

浏览器输入ip地址或者域名(已经解析过的域名),如下图所示,则安装成功。

四、配置nginx.conf

编辑/etc/nginx/nginx.conf,命令为:

  1. vi /etc/nginx/nginx.conf

将原先此文件内容删除,将以下内容复制到此文件中

  1. # nginx运行的用户名
  2. user nginx;
  3. # nginx启动进程,通常设置成和cpu的数量相等,这里为自动
  4. worker_processes auto;
  5. # errorlog文件位置
  6. error_log /var/log/nginx/error.log;
  7. # pid文件地址,记录了nginx的pid,方便进程管理
  8. pid /run/nginx.pid;
  9. # Load dynamic modules. See /usr/share/nginx/README.dynamic.
  10. # 用来加载其他动态模块的配置
  11. include /usr/share/nginx/modules/*.conf;
  12. # 工作模式和连接数上限
  13. events {
  14.     # 每个worker_processes的最大并发链接数
  15.     # 并发总数:worker_processes*worker_connections
  16.     worker_connections 1024;
  17. }
  18. # 与提供http服务相关的一些配置参数类似的还有mail
  19. http {
  20.     # 设置日志的格式
  21.     log_format  main  ‘$remote_addr – $remote_user [$time_local] “$request” ‘
  22.                       ‘$status $body_bytes_sent “$http_referer” ‘
  23.                       ‘“$http_user_agent” “$http_x_forwarded_for”‘;
  24.     # access_log记录访问的用户、页面、浏览器、ip和其他的访问信息
  25.     access_log  /var/log/nginx/access.log  main;
  26.     # 这部分下面会单独解释
  27.     # 设置nginx是否使用sendfile函数输出文件
  28.     sendfile            on;
  29.     # 数据包最大时发包(使用Nagle算法)
  30.     tcp_nopush          on;
  31.     # 立刻发送数据包(禁用Nagle算法)
  32.     tcp_nodelay         on;
  33.     # 链接超时时间
  34.     keepalive_timeout   65;
  35.     # 这个我也不清楚…
  36.     types_hash_max_size 2048;
  37.     # 引入文件扩展名与文件类型映射表
  38.     include             /etc/nginx/mime.types;
  39.     # 默认文件类型
  40.     default_type        application/octet-stream;
  41.     # Load modular configuration files from the /etc/nginx/conf.d directory.
  42.     # See http://nginx.org/en/docs/ngx_core_module.html#include
  43.     # for more information.
  44.     #include /etc/nginx/conf.d/*.conf;
  45.     # http服务上支持若干虚拟主机。
  46.     # 每个虚拟主机一个对应的server配置项
  47.     # 配置项里面包含该虚拟主机相关的配置。
  48.     server {
  49.         listen       80 default_server;
  50.         listen       [::]:80 default_server;
  51.         # 这里改动了,也可以写你的域名
  52.         server_name  c21.inqingdao.cn;
  53.         root         /usr/share/nginx/html;
  54.         # Load configuration files for the default server block.
  55.         include /etc/nginx/default.d/*.conf;
  56.         location / {
  57.             # 这里改动了 定义首页索引文件的名称
  58.             index index.php index.html index.htm;
  59.         }
  60.         error_page 404 /404.html;
  61.             location = /40x.html {
  62.         }
  63.         error_page 500 502 503 504 /50x.html;
  64.             location = /50x.html {
  65.         }
  66.         # 这里新加的
  67.         # PHP 脚本请求全部转发到 FastCGI处理. 使用FastCGI协议默认配置.
  68.         # Fastcgi服务器和程序(PHP,Python)沟通的协议.
  69.         location ~ \.php$ {
  70.             # 设置监听端口
  71.             fastcgi_pass   127.0.0.1:9000;
  72.             # 设置nginx的默认首页文件(上面已经设置过了,可以删除)
  73.             fastcgi_index  index.php;
  74.             # 设置脚本文件请求的路径
  75.             fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
  76.             # 引入fastcgi的配置文件
  77.             include        fastcgi_params;
  78.         }
  79.     }
  80. }

当然,这个配置文件可以根据自己的网站就进行修改。

MySql安装

一、CentOS 7的yum源中貌似没有正常安装mysql时的mysql-sever文件,需要去官网上下载。

补充yum源(1)

  1. wget http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm

补充yum源(2)

  1. rpm -ivh mysql-community-release-el7-5.noarch.rpm

二、安装MySql

  1. yum install mysql-community-server

三、成功安装之后启动mysql服务

  1. systemctl start mysqld

四、登录并修改密码(推荐方法一)

方法一:

默认mysql安装后,没有密码,我们用root登录以后,设置一下root密码即可。

  1. mysql -u root -p

弹出输入密码框,回车即可,没有密码。然后会 进入mysql命令行中,我们执行

  1. set password for root@localhost=password(‘123456‘);

123456是我们要设置的密码,最后我们刷新下mysql表权限

  1. flush privileges;

最后退出mysql即可。

方法二:

先修改mysql配置文件使其可以无密码登录,让后修改密码,之后便复原配置文件,修改/etc/my.cnf命令:

  1. vim /etc/my.cnf

进入编辑文件后,在配置文件相应位置添加skip-grant-tables

  1. [root@izm5ej51mjmct3z ~]# vim /etc/my.cnf
  2. # For advice on how to change settings please see
  3. # http://dev.mysql.com/doc/refman/5.6/en/server-configuration-defaults.html
  4. [mysqld]
  5. #
  6. # Remove leading # and set to the amount of RAM for the most important data
  7. # cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.
  8. # innodb_buffer_pool_size = 128M
  9. #
  10. # Remove leading # to turn on a very important data integrity option: logging
  11. # changes to the binary log between backups.
  12. # log_bin
  13. #
  14. # Remove leading # to set options mainly useful for reporting servers.
  15. # The server defaults are faster for transactions and fast SELECTs.
  16. # Adjust sizes as needed, experiment to find the optimal values.
  17. # join_buffer_size = 128M
  18. # sort_buffer_size = 2M
  19. # read_rnd_buffer_size = 2M
  20. datadir=/var/lib/mysql
  21. socket=/var/lib/mysql/mysql.sock
  22. skip-grant-tables                       此处!!!!!!
  23. # Disabling symbolic-links is recommended to prevent assorted security risks
  24. symbolic-links=0

保存退出,然后重启mysql服务

  1. systemctl restart mysql

即可免密登录,命令行输入mysql直接登录,然后选择mysql数据库,输入下列命令重置密码,’新密码’即为所设置密码

  1. USE mysql
  2. mysql> UPDATE user SET Password = ‘新密码’ WHERE User = ‘root’;

修改完成后输入exit退出mysql,重新回到/etc/my.cnf该文件删除之前添加语句保存退出即可。

「点点赞赏,手留余香」

    还没有人赞赏,快来当第一个赞赏的人吧!
0 条回复 A 作者 M 管理员
    所有的伟大,都源于一个勇敢的开始!
欢迎您,新朋友,感谢参与互动!欢迎您 {{author}},您在本站有{{commentsCount}}条评论