在CentOS系统上安装LNMP(Linux, Nginx, MySQL, PHP)环境是一个常见的任务,用于搭建Web服务器。以下是详细的安装步骤:
更新系统软件包:
sudo yum update -y
关闭防火墙和SELinux:
sudo systemctl stop firewalld
sudo systemctl disable firewalld
sudo sed -i 's/^SELINUX=.*/SELINUX=disabled/g' /etc/selinux/config
sudo setenforce 0
安装必要的依赖包:
sudo yum install wget unzip gcc gcc-c++ make automake autoconf libtool cmake perl perl-devel zlib zlib-devel openssl openssl-devel pcre pcre-devel
下载Nginx源码:
wget http://nginx.org/download/nginx-1.16.1.tar.gz
解压源码并编译安装:
tar -xzvf nginx-1.16.1.tar.gz
cd nginx-1.16.1
./configure --prefix=/usr/local/nginx --with-http_ssl_module
make
sudo make install
启动Nginx并设置开机自启动:
cd /usr/local/nginx
sudo ./sbin/nginx
sudo systemctl enable nginx
sudo systemctl start nginx
下载MySQL源码:
wget https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm
安装MySQL:
sudo yum localinstall mysql57-community-release-el7-11.noarch.rpm
sudo yum install mysql-community-server
启动MySQL并设置开机自启动:
sudo systemctl start mysqld
sudo systemctl enable mysqld
安全设置MySQL:
grep 'temporary password' /var/log/mysqld.log
mysql -u root -p
下载PHP源码:
cd /usr/local/src
wget http://cn2.php.net/get/php-7.2.0.tar.gz
解压PHP源码并编译安装:
tar -zxvf php-7.2.0.tar.gz
cd php-7.2.0
sudo yum install libxml2 libxml2-devel openssl openssl-devel bzip2 bzip2-devel libcurl libcurl-devel libjpeg libjpeg-devel libpng libpng-devel freetype
./configure
make
sudo make install
配置PHP-FPM:
sudo vi /usr/local/php/etc/php-fpm.d/www.conf
修改以下行:
user = nginx
group = nginx
listen = /var/run/php-fpm/php-fpm.sock
listen.owner = nginx
listen.group = nginx
listen.mode = 0660
启动PHP-FPM并设置开机自启动:
sudo systemctl start php-fpm
sudo systemctl enable php-fpm
配置Nginx支持PHP:
sudo vi /usr/local/nginx/conf/nginx.conf
在server块中添加以下内容:
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
重启Nginx:
sudo systemctl restart nginx
至此,您已经在CentOS系统上成功安装了LNMP环境。您可以通过在Nginx配置文件中添加虚拟主机来部署网站和应用程序。