一键安装Nginx、PHP、MySQL的Linux服务器初始化脚本 在搭建一个新的Linux服务器时,我们通常需要安装一些必要的软件和工具。其中,安装Nginx、PHP、MySQL是常见的操作。这些软件可以帮助我们快速搭建Web服务器,方便我们开发和测试网站。 为了方便,我们可以使用一键安装脚本来自动化这个过程。这样,我们只需要运行一个脚本,就可以自动完成软件的安装和配置。 下面,我们来介绍一键安装Nginx、PHP、MySQL的Linux服务器初始化脚本。 脚本步骤 脚本的主要步骤如下: 1. 安装依赖软件 2. 安装Nginx和PHP 3. 配置Nginx和PHP 4. 安装MySQL 5. 配置MySQL 下面,我们详细地介绍每个步骤。 安装依赖软件 在安装Nginx和PHP之前,我们需要先安装一些依赖软件,如编译工具、库文件等。这些软件可以帮助我们编译和安装Nginx和PHP。 以下是一些常见的依赖软件: - make - gcc - zlib - openssl - readline - libxml2 - libjpeg - libpng - freetype 可以使用以下命令来安装这些软件: ```bash apt-get update apt-get install make gcc zlib1g zlib1g-dev openssl libssl-dev libreadline-dev libxml2 libxml2-dev libjpeg-dev libpng-dev libfreetype6 libfreetype6-dev -y ``` 安装Nginx和PHP 安装完依赖软件以后,我们就可以开始安装Nginx和PHP了。 首先,下载Nginx和PHP的源代码包。可以到官方网站上下载对应的版本。 然后,解压缩源代码包,并进行编译和安装。 以下是编译和安装Nginx的命令: ```bash tar -xvf nginx-1.18.0.tar.gz cd nginx-1.18.0 ./configure make make install ``` 以下是编译和安装PHP的命令: ```bash tar -xvf php-7.4.9.tar.gz cd php-7.4.9 ./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --with-fpm-user=www-data --with-fpm-group=www-data --enable-fpm --enable-mbstring --with-openssl --with-zlib --with-curl --with-gd --with-jpeg --with-png --with-freetype --with-mysqli make make install ``` 配置Nginx和PHP 安装完Nginx和PHP以后,我们就需要进行一些配置。 首先,创建Nginx的配置文件。可以使用以下命令来创建: ```bash mkdir /usr/local/nginx/conf/vhost touch /usr/local/nginx/conf/vhost/default.conf ``` 然后,编辑Nginx配置文件,加入以下内容: ```nginx server { listen 80; server_name localhost; root /var/www/html; location / { index index.html index.htm index.php; try_files $uri $uri/ /index.php?$query_string; } 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; } } ``` 其中,server_name可以修改成你的域名或IP地址。 然后,创建PHP的配置文件。可以使用以下命令来创建: ```bash cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf ``` 然后,编辑PHP的配置文件,加入以下内容: ```ini [www] listen = 127.0.0.1:9000 listen.allowed_clients = 127.0.0.1 user = www-data group = www-data pm = dynamic pm.max_children = 5 pm.start_servers = 2 pm.min_spare_servers = 1 pm.max_spare_servers = 3 pm.max_requests = 500 request_terminate_timeout = 120s ``` 其中,user和group可以根据你的系统用户和组进行修改。 安装MySQL 安装完Nginx和PHP以后,我们还需要安装MySQL。 可以使用以下命令来安装: ```bash apt-get install mysql-server -y ``` 然后,启动MySQL服务: ```bash systemctl start mysql ``` 配置MySQL 最后,我们需要对MySQL进行一些配置。 首先,执行以下命令来设置MySQL的root密码: ```bash mysql_secure_installation ``` 然后,创建一个新的MySQL用户,用于PHP连接数据库。可以使用以下命令来创建: ```mysql CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'password'; GRANT ALL PRIVILEGES ON *.* TO 'newuser'@'localhost' WITH GRANT OPTION; FLUSH PRIVILEGES; ``` 其中,newuser和password可以根据你的需求进行修改。 脚本完整代码 最后,我们将上述步骤整合成一个脚本。可以使用以下命令来创建脚本文件: ```bash touch init.sh && chmod +x init.sh ``` 然后,将以下代码复制到脚本文件中: ```bash #!/bin/bash # 安装依赖软件 apt-get update apt-get install make gcc zlib1g zlib1g-dev openssl libssl-dev libreadline-dev libxml2 libxml2-dev libjpeg-dev libpng-dev libfreetype6 libfreetype6-dev -y # 下载Nginx和PHP源代码包 wget https://nginx.org/download/nginx-1.18.0.tar.gz wget https://www.php.net/distributions/php-7.4.9.tar.gz # 解压缩源代码包 tar -xvf nginx-1.18.0.tar.gz tar -xvf php-7.4.9.tar.gz # 编译和安装Nginx cd nginx-1.18.0 ./configure make make install # 编译和安装PHP cd ../php-7.4.9 ./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --with-fpm-user=www-data --with-fpm-group=www-data --enable-fpm --enable-mbstring --with-openssl --with-zlib --with-curl --with-gd --with-jpeg --with-png --with-freetype --with-mysqli make make install # 创建Nginx的配置文件 mkdir /usr/local/nginx/conf/vhost touch /usr/local/nginx/conf/vhost/default.conf # 编辑Nginx配置文件 cat > /usr/local/nginx/conf/vhost/default.conf << EOF server { listen 80; server_name localhost; root /var/www/html; location / { index index.html index.htm index.php; try_files \$uri \$uri/ /index.php?\$query_string; } 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; } } EOF # 创建PHP的配置文件 cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf # 编辑PHP的配置文件 cat > /usr/local/php/etc/php-fpm.d/www.conf << EOF [www] listen = 127.0.0.1:9000 listen.allowed_clients = 127.0.0.1 user = www-data group = www-data pm = dynamic pm.max_children = 5 pm.start_servers = 2 pm.min_spare_servers = 1 pm.max_spare_servers = 3 pm.max_requests = 500 request_terminate_timeout = 120s EOF # 安装MySQL apt-get install mysql-server -y # 启动MySQL服务 systemctl start mysql # 设置MySQL的root密码 mysql_secure_installation # 创建一个新的MySQL用户 mysql -u root -p << EOF CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'password'; GRANT ALL PRIVILEGES ON *.* TO 'newuser'@'localhost' WITH GRANT OPTION; FLUSH PRIVILEGES; EOF ``` 其中,newuser和password可以根据你的需求进行修改。 运行脚本 最后,我们可以运行上述脚本,来一键安装Nginx、PHP、MySQL。 可以使用以下命令来运行脚本: ```bash ./init.sh ``` 注意,在运行脚本之前,需要先给脚本文件添加可执行权限。 运行完脚本以后,我们就成功地安装了Nginx、PHP、MySQL,并进行了一些基本配置。现在,我们就可以开始使用这个服务器来开发和测试网站了!