linux

如何用LAMP部署应用

小樊
43
2025-07-17 06:09:46
栏目: 编程语言

使用LAMP(Linux, Apache, MySQL, PHP)环境部署应用是一个相对直接的过程,但需要确保每个组件都正确安装和配置。以下是详细的步骤:

1. 安装LAMP组件

在Ubuntu/Debian系统上:

sudo apt update
sudo apt install apache2 mysql-server php libapache2-mod-php php-mysql

在CentOS/RHEL系统上:

sudo yum install httpd mariadb-server mariadb php php-mysqlnd
sudo systemctl start httpd mariadb
sudo systemctl enable httpd mariadb

2. 配置防火墙

在Ubuntu/Debian系统上:

sudo ufw allow 'Apache Full'

在CentOS/RHEL系统上:

sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo firewall-cmd --reload

3. 数据库配置

sudo mysql_secure_installation
mysql -u root -p
CREATE DATABASE appdb;
CREATE USER 'appuser'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON appdb.* TO 'appuser'@'localhost';
FLUSH PRIVILEGES;
EXIT;

4. 应用部署

上传应用代码

通常将应用代码放在 /var/www/html/ 或创建虚拟主机目录。

sudo mkdir -p /var/www/yourapp
sudo chown -R $USER:$USER /var/www/yourapp

配置Apache虚拟主机

编辑 /etc/apache2/sites-available/yourapp.conf 文件,示例配置如下:

<VirtualHost *:80>
    ServerName yourdomain.com
    ServerAdmin webmaster@localhost
    DocumentRoot /var/www/yourapp
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
    <Directory /var/www/yourapp>
        Options Indexes FollowSymLinks
        AllowOverride All
        Require all granted
    </Directory>
</VirtualHost>

启用配置:

sudo a2ensite yourapp.conf
sudo a2enmod rewrite
sudo systemctl restart apache2

5. 应用配置

配置文件权限

sudo chown -R www-data:www-data /var/www/yourapp
sudo find /var/www/yourapp -type d -exec chmod 755 {} \;
sudo find /var/www/yourapp -type f -exec chmod 644 {} \;

配置应用数据库连接

编辑应用的配置文件(如 config.php):

<?php
define('DB_HOST', 'localhost');
define('DB_USER', 'appuser');
define('DB_PASS', 'password');
define('DB_NAME', 'appdb');
?>

6. 安全加固

安装SSL证书

使用Let’s Encrypt:

sudo apt install certbot python3-certbot-apache
sudo certbot --apache -d yourdomain.com

禁用目录浏览

编辑 /etc/apache2/apache2.conf 文件,确保有:

Options -Indexes

7. 性能优化

启用缓存

sudo a2enmod cache
sudo a2enmod expires
sudo a2enmod headers

配置OPcache (PHP)

sudo apt install php-opcache
sudo nano /etc/php/7.x/apache2/php.ini

找到并修改:

opcache.enable=1
opcache.memory_consumption=128
opcache.max_accelerated_files=4000
opcache.revalidate_freq=60

通过以上步骤,您可以在Linux系统上成功部署LAMP环境,并部署您的应用。确保在每一步都仔细检查配置,以保证系统的安全性和稳定性。

0
看了该问题的人还看了