CentOS7 配置 LNMP 服务器环境

修改yum源为国内的yum源 (原文:https://www.cnblogs.com/xjh713/p/7458437.h...

  1. 备份本地yum源
    mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo_bak
    2.获取阿里yum源配置文件
    wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.re...
    3.更新cache
    yum makecache
    4.查看
    yum -y update

安装Nginx (原文:https://blog.csdn.net/qq_26245325/article/...
因为centOS默认yum源的资源版本都比较老旧,作为一个追求新版本的人。自然是不会安装默认的老旧版本。所以在安装要先设置nginx安装源。
可在nginx官网上查看最新版本信息:

Mainline version:Mainline 是 Nginx 目前主力在做的版本,可以说是开发版
Stable version:最新稳定版,生产环境上建议使用的版本
Legacy versions:遗留的老版本的稳定版
1.安装epel-release源
yum install -y epel-release
2.设置nginx安装源
vim /etc/yum.repos.d/nginx.repo
添加如下代码:
[nginx] name=nginx repo baseurl=http://nginx.org/packages/centos/7/$basearch/ gpgcheck=0 enabled=1

3.安装nginx并设置开机自启
yum install -y nginx
systemctl enable nginx
4.查看版本信息并启动
nginx -v
systemctl start nginx

安装PHP 7.2 (原文:https://newsn.net/say/centos-php72-yum.htm...
同nginx一样,centos的yum源默认PHP版本是5. 。显然是不够用的。所有这里选择安装PHP7.2。
php高版本的yum源地址,有两部分,其中一部分是epel-release,另外一部分来自webtatic。
1.因为安装nginx时因为安装了epel-release,所有这里只需要执行:
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtat...
2.清除原有PHP(有的话)
yum -y remove php

3.安装PHP及扩展
yum -y install php72w php72w-cli php72w-fpm php72w-common php72w-devel php72w-embedded php72w-gd php72w-mbstring php72w-mysqlnd php72w-opcache php72w-pdo php72w-xml
4.开启PHP-fpm服务
systemctl enable php-fpm.service
systemctl start php-fpm.service
5.最后可以查看php版本了
php -v
6.PHP扩展如下,可按个人需求继续安装
php72w-cli
php72w-common
php72w-devel
php72w-embedded
php72w-fpm
php72w-gd
php72w-mbstring
php72w-mysqlnd
php72w-opcache
php72w-pdo
php72w-xml
php72w
php72w-bcmath
php72w-dba
php72w-enchant
php72w-imap
php72w-interbase
php72w-intl
php72w-ldap
php72w-mcrypt
php72w-odbc
php72w-pdo_dblib
php72w-pear
php72w-pecl-apcu
php72w-pecl-imagick
php72w-pecl-xdebug
php72w-pgsql
php72w-phpdbg
php72w-process
php72w-pspell
php72w-recode
php72w-snmp
php72w-soap
php72w-tidy
php72w-xmlrpc
php72w-pecl-igbinary
php72w-intl
php72w-memcached
php72w-pecl-mongodb

安装mysql 5.7 (原文:https://www.cnblogs.com/bigbrotherer/p/724...
下载并安装MySQL官方的 Yum Repository
wget -i -c http://dev.mysql.com/get/mysql57-community...
yum -y install mysql57-community-release-el7-10.noarch.rpm
安装并启动mysql
yum -y install mysql-community-server
systemctl start mysqld.service
查找mysql5.7默认密码
grep "password" /var/log/mysqld.log
file
进入数据库
mysql -uroot -p
修改密码时发现密码规则冲突,修改密码规则
set global validate_password_policy=0;
set global validate_password_length=1;(默认最低长度为4)
最后修改密码
set password for root@localhost = password('123456');
卸载对应Yum Repository
yum -y remove mysql57-community-release-el7-10.noarch

至此centos7的LNMP服务器环境就搭建好了。 接下来准备做简单的访问操作来验证服务器环境是没问题的。
首先将nginx目录通过软连接方式防止/var/www 目录下(原文https://www.cnblogs.com/kex1n/p/5193826.html)
ln -s /etc/nginx /var/www/nginx
配置nginx目录下的conf.d目录的defalut.conf文件

vim /var/www/nginx/conf.d/default.conf
server {
listen       80;
server_name  www.hyd1010.top;                                      //修改为监听的域名,默认为localhost
#charset koi8-r;
#access_log  /var/log/nginx/host.access.log  main;
location / {
    root   /var/www/html;                                                       //修改为访问路径
    index  index.html index.htm;
    try_files $uri $uri/ /index.php?$query_string;                       //添加如下代码
}
#error_page  404              /404.html;
# redirect server error pages to the static page /50x.html
#
error_page   500 502 503 504  /50x.html;
location = /50x.html {
    root   /var/www/html;
}
# proxy the PHP scripts to Apache listening on 127.0.0.1:80
#
#location ~ \.php$ {
#    proxy_pass   http://127.0.0.1;
#}
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
location ~ \.php$ {                                                                           //解开如下注释
    root           /var/www/html;                                                          //修改路径
    fastcgi_pass   127.0.0.1:9000;
    fastcgi_index  index.php;
    fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;          //修改
    include        fastcgi_params;
}
# deny access to .htaccess files, if Apache's document root
# concurs with nginx's one
#
#location ~ /\.ht {
#    deny  all;
#}

}

因为我这里文件目录是访问/var/www/html/index.php 。所以要做如下修改,如果不想修改路径:那就到默认路径下创建一个index.php文件

需要在location里面加上如下代码:
try_files $uri $uri/ /index.php?$query_string;

把 location ~ .php$的注释打开并修改 其fastcgi_param为如下值:
SCRIPT_FILENAME $document_root$fastcgi_script_name;

index.php文件内容随便吧:
<?php phpinfo(); ?>

最后访问本身服务器外网IP(尚无域名的情况)或者自身域名+ /index.php 出现PHP版本信息页面说明成功了

讨论数量: 2

测试的index.php文件内容可省去echo

<?php
phpinfo();
5个月前 评论

@AlicFeng 谢谢提醒 :+1:

5个月前 评论

请勿发布不友善或者负能量的内容。与人为善,比聪明更重要!