首页主机资讯如何在centos lamp上部署应用

如何在centos lamp上部署应用

时间2025-10-11 08:12:03发布访客分类主机资讯浏览868
导读:如何在CentOS LAMP上部署应用 一、准备工作 系统更新:运行sudo yum update -y,确保系统软件包为最新版本,避免兼容性问题。 安装必要工具:安装编译工具和库文件,用于后续可能的源码编译安装:sudo yum ins...

如何在CentOS LAMP上部署应用

一、准备工作

  1. 系统更新:运行sudo yum update -y,确保系统软件包为最新版本,避免兼容性问题。
  2. 安装必要工具:安装编译工具和库文件,用于后续可能的源码编译安装:sudo yum install -y gcc gcc-c++ make cmake ncurses-devel libxml2-devel perl-devel libcurl openssl

二、安装LAMP组件

1. 安装Apache(Web服务器)

  • 使用YUM包管理器安装Apache:sudo yum install httpd -y
  • 启动Apache并设置开机自启:sudo systemctl start httpdsudo systemctl enable httpd
  • 验证安装:浏览器访问服务器IP地址,若看到“It works!”页面则表示成功。

2. 安装MySQL(数据库服务器)

  • 安装MariaDB(CentOS默认的MySQL兼容数据库):sudo yum install mariadb-server mariadb -y
  • 启动MariaDB并设置开机自启:sudo systemctl start mariadbsudo systemctl enable mariadb
  • 运行安全脚本强化数据库安全:sudo mysql_secure_installation,按提示设置root密码、删除匿名用户、禁止root远程登录等。

3. 安装PHP(脚本语言)

  • 安装PHP及常用扩展(如MySQL、GD、MBSTRING等):sudo yum install php php-mysql php-gd php-mbstring php-xml -y
  • 重启Apache以加载PHP模块:sudo systemctl restart httpd
  • 验证PHP安装:在/var/www/html目录下创建info.php文件(内容为< ?php phpinfo(); ?> ),浏览器访问http://服务器IP/info.php,若看到PHP信息页面则表示成功。

三、部署应用

1. 上传应用代码

  • 将本地开发的应用代码上传至服务器,常用方式包括:
    • SCP命令scp -r /本地/项目路径 user@服务器IP:/var/www/html/项目目录
    • Git克隆git clone 项目仓库URL /var/www/html/项目目录

2. 安装应用依赖

  • 进入项目目录,根据项目类型安装依赖:
    • PHP项目(如Laravel、ThinkPHP)composer install(需提前安装Composer);
    • Node.js项目npm installyarn install
    • Python项目(如Django、Flask)pip install -r requirements.txt

3. 配置应用环境

  • 修改应用配置文件(如.envconfig.php),设置数据库连接、缓存服务器等参数:
    DB_HOST=localhost
    DB_USER=root
    DB_PASSWORD=你的数据库密码
    APP_ENV=production
    
  • 设置文件权限:确保Web服务器用户(通常为apache)对项目目录有读写权限:sudo chown -R apache:apache /var/www/html/项目目录sudo chmod -R 755 /var/www/html/项目目录

4. 配置Web服务器

  • Apache虚拟主机配置(可选,多站点时使用):
    /etc/httpd/conf.d/目录下创建虚拟主机配置文件(如yourdomain.conf),内容如下:

    <
        VirtualHost *:80>
        
        ServerName yourdomain.com  # 替换为你的域名或IP
        DocumentRoot /var/www/html/项目目录
        <
        Directory /var/www/html/项目目录>
        
            AllowOverride All  # 允许.htaccess文件覆盖配置
            Require all granted
        <
        /Directory>
        
        ErrorLog /var/log/httpd/yourdomain-error.log
        CustomLog /var/log/httpd/yourdomain-access.log combined
    <
        /VirtualHost>
        
    

    重启Apache使配置生效:sudo systemctl restart httpd

  • PHP-FPM配置(若使用PHP-FPM处理PHP请求):
    编辑/etc/php-fpm.d/www.conf,修改以下参数(根据实际情况调整):

    listen = /run/php-fpm/www.sock  # 监听Unix socket
    user = apache                   # 运行用户
    group = apache                  # 运行组
    pm = dynamic                    # 动态进程管理
    pm.max_children = 50             # 最大子进程数
    pm.start_servers = 5             # 启动时的子进程数
    pm.min_spare_servers = 5         # 最小空闲子进程数
    pm.max_spare_servers = 10        # 最大空闲子进程数
    

    重启PHP-FPM:sudo systemctl restart php-fpm

四、启动应用并设置开机自启

  • 启动应用:根据应用类型启动服务(如Spring Boot应用使用java -jar app.jar,Node.js应用使用node app.js),建议在后台运行(如使用nohupsystemd)。
  • 设置开机自启
    • Systemd方式(推荐):创建服务文件(如/etc/systemd/system/yourapp.service),内容如下:
      [Unit]
      Description=Your Application Service
      After=network.target
      
      [Service]
      ExecStart=/usr/bin/node /var/www/html/项目目录/app.js  # 替换为你的应用启动命令
      Restart=always
      User=apache
      Group=apache
      
      [Install]
      WantedBy=multi-user.target
      
      启用并启动服务:sudo systemctl enable yourapp.servicesudo systemctl start yourapp.service

五、优化与安全

  1. 防火墙配置:允许HTTP(80端口)和HTTPS(443端口)流量:
    sudo firewall-cmd --permanent --add-service=http
    sudo firewall-cmd --permanent --add-service=https
    sudo firewall-cmd --reload
    
  2. HTTPS加密:使用Let’s Encrypt免费证书部署SSL(需安装Certbot):
    sudo yum install certbot python2-certbot-apache -y
    sudo certbot --apache -d yourdomain.com -d www.yourdomain.com
    
  3. 性能优化
    • 调整Apache的MaxKeepAliveRequestsKeepAliveTimeout参数(在/etc/httpd/conf/httpd.conf中);
    • 优化MySQL的innodb_buffer_pool_size参数(在/etc/my.cnf中);
    • 禁用PHP不必要的模块(如xdebug),启用Opcode缓存(如opcache)。

六、常见问题解决

  • 权限问题:若应用无法写入文件,检查目录权限(chown -R apache:apache /var/www/html/项目目录);
  • 端口冲突:若端口被占用,使用lsof -i :端口号查看进程并终止(kill -9 PID);
  • 依赖缺失:根据错误提示安装缺失的依赖(如yum install 缺失的包名);
  • 配置错误:检查Web服务器(Apache/Nginx)和应用的配置文件语法(如apachectl configtest)。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: 如何在centos lamp上部署应用
本文地址: https://pptw.com/jishu/723224.html
centos cpustat在云计算环境中的应用 centos lamp资源占用如何降低

游客 回复需填写必要信息