(图片来源网络,侵删)
前言
作为一名LINUX爱好者,我相信大家都知道LNMP是Linux+Nginx+MySQL+PHP的缩写,是一套非常流行的Web服务器软件架构。在本文中,我们将详细介绍如何在CentOS 7系统上编译安装LNMP,希望能对大家有所帮助。
安装前的准备工作
在开始安装LNMP前,我们需要做好以下准备工作:
(图片来源网络,侵删)
1. 确保CentOS 7系统已经安装并配置好了LAMP环境(即Linux+Apache+MySQL+PHP)。
2. 下载并安装必要的软件包,如Nginx、MySQL、PHP等。
(图片来源网络,侵删)
3. 配置好防火墙,允许Nginx、MySQL和PHP服务的访问。
4. 确保系统已经更新到最新版本。
安装Nginx
1. 下载Nginx源码包并解压:
```
wget -1.20.0.tar.gz
tar zxvf nginx-1.20.0.tar.gz
2. 安装依赖包:
yum install gcc gcc-c++ zlib-devel pcre-devel openssl-devel -y
3. 进入解压后的Nginx源码目录,执行以下命令进行编译和安装:
./configure --prefix=/usr/local/nginx --with-http_ssl_module --with-http_v2_module --with-http_stub_status_module
make && make install
4. 配置Nginx服务开机自启动:
vi /usr/lib/systemd/system/nginx.service
在文件中添加以下内容:
[Unit]
Description=The NGINX HTTP server
After=syslog.target network.target remote-fs.target nss-lookup.target
[Service]
Type=forking
PIDFile=/usr/local/nginx/logs/nginx.pid
ExecStartPre=/usr/local/nginx/sbin/nginx -t
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s TERM $MAINPID
PrivateTmp=true
[Install]
WantedBy=multi-user.target
保存并退出,执行以下命令使服务生效:
systemctl daemon-reload
systemctl enable nginx.service
systemctl start nginx.service
5. 配置防火墙:
firewall-cmd --add-port=80/tcp --permanent
firewall-cmd --reload
安装MySQL
1. 下载MySQL源码包并解压:
wget -8.0/mysql-8.0.25.tar.gz
tar zxvf mysql-8.0.25.tar.gz
yum install gcc gcc-c++ cmake ncurses-devel -y
3. 进入解压后的MySQL源码目录,执行以下命令进行编译和安装:
mkdir build
cd build
cmake .. -DCMAKE_INSTALL_PREFIX=/usr/local/mysql
-DMYSQL_DATADIR=/usr/local/mysql/data
-DWITH_BOOST=boost
-DWITH_INNODB_MEMCACHED=ON
-DWITH_MYISAM_STORAGE_ENGINE=1
-DWITH_INNOBASE_STORAGE_ENGINE=1
-DWITH_ARCHIVE_STORAGE_ENGINE=1
-DWITH_BLACKHOLE_STORAGE_ENGINE=1
-DWITH_PARTITION_STORAGE_ENGINE=1
-DWITH_FEDERATED_STORAGE_ENGINE=1
-DWITH_SSL=system
-DWITH_ZLIB=system
-DWITH_LIBWRAP=0
-DENABLED_LOCAL_INFILE=1
-DENABLE_DTRACE=0
-DDEFAULT_CHARSET=utf8mb4
-DDEFAULT_COLLATION=utf8mb4_general_ci
-DWITH_DEBUG=0
4. 创建MySQL数据目录和用户:
mkdir /usr/local/mysql/data
useradd -M -s /sbin/nologin mysql
chown -R mysql:mysql /usr/local/mysql
5. 初始化MySQL:
cd /usr/local/mysql
./bin/mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
6. 配置MySQL服务开机自启动:
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
chmod +x /etc/init.d/mysql
chkconfig --add mysql
chkconfig mysql on
7. 启动MySQL服务:
service mysql start
8. 配置防火墙:
firewall-cmd --add-port=3306/tcp --permanent
安装PHP
1. 下载PHP源码包并解压:
wget -7.4.20.tar.gz
tar zxvf php-7.4.20.tar.gz
yum install libxml2-devel libjpeg-devel libpng-devel freetype-devel openssl-devel libcurl-devel -y
3. 进入解压后的PHP源码目录,执行以下命令进行编译和安装:
./configure --prefix=/usr/local/php
--with-config-file-path=/etc
--enable-fpm
--with-fpm-user=nginx
--with-fpm-group=nginx
--with-mysqli=mysqlnd
--with-pdo-mysql=mysqlnd
--with-iconv
--with-zlib
--with-openssl
--with-curl
--with-gd
--with-jpeg
--with-png
--with-freetype
--enable-bcmath
--enable-exif
--enable-ftp
--enable-gd-jis-conv
--enable-mbstring
--enable-pcntl
--enable-shmop
--enable-soap
--enable-sockets
--enable-sysvsem
--enable-sysvshm
--enable-xml
--enable-zip
--disable-fileinfo
4. 配置PHP:
cp php.ini-development /etc/php.ini
cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf
cp /usr/local/php/etc/php-fpm.d/www.conf.default /usr/local/php/etc/php-fpm.d/www.conf
5. 配置PHP服务开机自启动:
cp /usr/local/php/sbin/php-fpm /etc/init.d/
chmod +x /etc/init.d/php-fpm
chkconfig --add php-fpm
chkconfig php-fpm on
6. 启动PHP服务:
service php-fpm start
7. 配置防火墙:
firewall-cmd --add-port=9000/tcp --permanent
配置Nginx
1. 创建Nginx配置文件:
mkdir /usr/local/nginx/conf/vhost
vi /usr/local/nginx/conf/vhost/default.conf
server {
listen 80;
server_name localhost;
root /var/www/html;
index index.php index.html index.htm;
location / {
try_files $uri $uri/ /index.php?$args;
}
error_page 404 /404.html;
location = /404.html {
root /usr/share/nginx/html;
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
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;
}
保存并退出。
2. 修改Nginx配置文件:
vi /usr/local/nginx/conf/nginx.conf
在http块中添加以下内容:
include /usr/local/nginx/conf/vhost/*.conf;
3. 重启Nginx服务:
systemctl restart nginx.service
测试LNMP环境
在浏览器中输入服务器IP地址或域名,如果出现phpinfo()页面,则说明LNMP环境已经安装成功。
小结
本文详细介绍了如何在CentOS 7系统上编译安装LNMP,并配置好Nginx、MySQL和PHP服务,希望对大家有所帮助。
为您分享
Ubuntu系统中可以通过Ctrl+Alt+T快捷键打开终端,方便快捷。