跳至主要內容

手动部署LNMP

酷丁大约 2 分钟LNMPLinuxNginxMySQLPHP手动部署

上面提到,LNMP的一键脚本安装并不是很安全,因此,我们可以通过手动部署的方式来安装LNMP。

注意

本文参考了阿里云帮助中心open in new window ,特此感谢。

关闭防火墙

systemctl stop firewalld
systemctl disable firewalld

关闭SELinux

sudo vi /etc/selinux/config

找到SELINUX=,按i进入编辑模式,修改为SELINUX=disabled

关于SELinux的讨论,可以看看知乎上的这个问题open in new window

安装Nginx

yum install nginx

或者参考阿里云的文档open in new window 编译安装其他版本的Nginx。

安装MySQL

首先,更新和添加MySQL的yum源

sudo rpm -Uvh  http://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm

提示

如果提示报错信息No match for argument,您需要先运行命令sudo yum module disable mysql禁用默认的MySQL模块,再安装MySQL。

sudo yum -y install mysql-community-server --nogpgcheck

安装后,可以通过mysql --version查看MySQL的版本。

运行以下命令,启动MySQL并配置开机自启动

sudo systemctl start mysqld
sudo systemctl enable mysqld
sudo systemctl daemon-reload

安装PHP

先添加EPEL源和Webtatic源

sudo yum install \
https://repo.ius.io/ius-release-el7.rpm \
https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm

sudo rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

运行以下指令安装:

sudo yum -y install php70w-devel php70w.x86_64 php70w-cli.x86_64 php70w-common.x86_64 php70w-gd.x86_64 php70w-ldap.x86_64 php70w-mbstring.x86_64 php70w-mcrypt.x86_64  php70w-pdo.x86_64   php70w-mysqlnd  php70w-fpm php70w-opcache php70w-pecl-redis php70w-pecl-mongodb

配置

配置MySQL

首先,查看MySQL的初始密码

sudo grep 'temporary password' /var/log/mysqld.log

其中ARQTRy3+****为MySQL的初始密码。

运行sudo mysql_secure_installation来配置安全性
根据提示配置即可。

修改配置,使PHP-FPM可以使用Nginx

sudo cp /etc/nginx/nginx.conf /etc/nginx/nginx.conf.bak

编辑/etc/nginx/nginx.conf,添加或修改location /配置信息。

        location / {
            index index.php index.html index.htm;
        }

添加或修改location ~ .php$配置信息。

        #添加下列信息,配置Nginx通过fastcgi方式处理您的PHP请求。
        location ~ .php$ {
            root /usr/share/nginx/html;    #将/usr/share/nginx/html替换为您的网站根目录,本文使用/usr/share/nginx/html作为网站根目录。
            fastcgi_pass 127.0.0.1:9000;   #Nginx通过本机的9000端口将PHP请求转发给PHP-FPM进行处理。
            fastcgi_index index.php;
            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
            include fastcgi_params;   #Nginx调用fastcgi接口处理PHP请求。
        }

然后设置php开机自启动:

sudo systemctl start php-fpm
sudo systemctl enable php-fpm