匠心精神 - 良心品质腾讯认可的专业机构-IT人的高薪实战学院

咨询电话:4000806560

一键安装Nginx、PHP、MySQL的Linux服务器初始化脚本

一键安装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,并进行了一些基本配置。现在,我们就可以开始使用这个服务器来开发和测试网站了!