1. Ubuntu 16.04下Java与PHP环境搭建概述
在Linux系统中搭建开发环境是程序员的基本功,Ubuntu 16.04作为长期支持版本(LTS),至今仍被许多企业和开发者使用。本文将详细介绍在该系统下配置Java和PHP开发环境的完整流程,包含从基础软件安装到环境变量配置的全套解决方案。
不同于简单的apt-get安装,我会分享在实际企业环境中验证过的配置方案。比如Java部分会同时介绍Oracle JDK和OpenJDK的安装选择,PHP部分会涵盖从基础运行环境到常用扩展的完整配置。这些经验来自我多年在服务器部署和维护中的实战积累。
2. Java环境安装与配置
2.1 JDK版本选择与安装
Ubuntu 16.04默认源中提供OpenJDK,但部分企业应用可能需要Oracle JDK。以下是两种安装方案:
方案一:安装OpenJDK 8(推荐)
sudo apt-get update sudo apt-get install -y openjdk-8-jdk方案二:安装Oracle JDK 8
sudo add-apt-repository ppa:webupd8team/java sudo apt-get update sudo apt-get install -y oracle-java8-installer注意:如果系统提示"您没有使用Lombok支持的编译器"这类警告,通常是因为JDK版本与构建工具不匹配,建议统一使用JDK 8以避免兼容性问题。
2.2 环境变量配置
安装完成后需要设置JAVA_HOME环境变量,这是很多Java应用运行的基础:
# 查找JDK安装路径 sudo update-alternatives --config java # 将以下内容添加到~/.bashrc或/etc/profile中 export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64 export PATH=$JAVA_HOME/bin:$PATH # 使配置生效 source ~/.bashrc验证安装:
java -version javac -version2.3 常见问题排查
问题1:版本冲突当出现"源发行版17需要目标发行版17"这类错误时,说明编译环境和运行环境版本不一致。解决方法:
# 检查所有已安装的Java版本 update-java-alternatives --list # 设置默认版本 sudo update-alternatives --config java问题2:CPU占用过高Java应用出现C1、C2线程CPU过高时,可以添加JVM参数限制资源使用:
java -XX:ParallelGCThreads=2 -XX:CICompilerCount=2 -jar your_app.jar3. PHP环境安装与配置
3.1 PHP基础安装
Ubuntu 16.04默认源中的PHP版本较旧(7.0),建议添加第三方源安装新版:
sudo apt-get install -y software-properties-common sudo add-apt-repository ppa:ondrej/php sudo apt-get update # 安装PHP 7.4(兼容性较好的版本) sudo apt-get install -y php7.4 php7.4-cli php7.4-fpm php7.4-mysql php7.4-curl php7.4-gd php7.4-mbstring php7.4-xml php7.4-zip3.2 PHP与Apache/Nginx集成
Apache集成:
sudo apt-get install -y apache2 libapache2-mod-php7.4 sudo systemctl restart apache2Nginx集成:
sudo apt-get install -y nginx php7.4-fpm # 修改Nginx配置 sudo nano /etc/nginx/sites-available/default在server块中添加:
location ~ \.php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/run/php/php7.4-fpm.sock; }重启服务:
sudo systemctl restart nginx sudo systemctl restart php7.4-fpm3.3 PHP常用扩展与配置
安装开发常用扩展:
sudo apt-get install -y php7.4-redis php7.4-memcached php7.4-bcmath php7.4-soap调整php.ini关键配置:
sudo nano /etc/php/7.4/fpm/php.ini建议修改:
upload_max_filesize = 32M post_max_size = 32M memory_limit = 256M max_execution_time = 1204. 开发环境增强配置
4.1 数据库环境安装
MySQL安装:
sudo apt-get install -y mysql-server sudo mysql_secure_installationRedis安装:
sudo apt-get install -y redis-server sudo systemctl enable redis4.2 开发工具安装
Docker安装:
sudo apt-get install -y apt-transport-https ca-certificates curl software-properties-common curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" sudo apt-get update sudo apt-get install -y docker-ceComposer安装:
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" php composer-setup.php php -r "unlink('composer-setup.php');" sudo mv composer.phar /usr/local/bin/composer4.3 中文输入法配置(桌面环境)
安装搜狗输入法:
sudo add-apt-repository ppa:fcitx-team/nightly sudo apt-get update sudo apt-get install -y fcitx fcitx-config-gtk fcitx-sunpinyin fcitx-googlepinyin # 下载搜狗输入法deb包后安装 sudo dpkg -i sogoupinyin_*.deb sudo apt-get install -f5. 环境验证与测试
5.1 Java环境测试
创建测试文件HelloWorld.java:
public class HelloWorld { public static void main(String[] args) { System.out.println("Hello, Java Environment!"); } }编译运行:
javac HelloWorld.java java HelloWorld5.2 PHP环境测试
创建info.php:
<?php phpinfo(); ?>放置在/var/www/html/后访问http://localhost/info.php
5.3 综合测试:PHP调用Java
安装PHP-Java Bridge:
sudo apt-get install -y php-java-bridge测试代码:
<?php require_once("java/Java.inc"); $system = new Java("java.lang.System"); echo $system->getProperties(); ?>6. 系统优化与维护
6.1 定期更新与清理
# 系统更新 sudo apt-get update sudo apt-get upgrade # 清理旧内核和缓存 sudo apt-get autoremove sudo apt-get clean6.2 备份重要配置
建议备份以下目录:
- /etc/php/
- /etc/mysql/
- /etc/nginx/
- /etc/apache2/
- ~/.bashrc
可以使用以下命令创建备份:
sudo tar -czvf server_config_backup_$(date +%Y%m%d).tar.gz /etc/php /etc/mysql /etc/nginx /etc/apache2 ~/.bashrc6.3 监控系统资源
安装基础监控工具:
sudo apt-get install -y htop sysstat查看Java进程资源占用:
top -p $(pgrep -d',' java)查看PHP-FPM状态:
sudo systemctl status php7.4-fpm在多年的运维经验中,我发现Ubuntu 16.04虽然稳定,但软件源较旧。对于生产环境,建议考虑升级到更新的LTS版本。如果必须使用16.04,第三方PPA源是获取新软件包的有效途径,但要注意评估其稳定性。另外,Java和PHP的环境变量配置要特别注意,不正确的配置可能导致各种隐晦的问题。建议将关键配置写入/etc/profile.d/目录下的独立脚本中,便于管理和维护。