Linux系统是人类共同的宝贵知识财富。
一键启动ftp服务脚本
创建FTP锁定主目录的用户
1、安装ftp服务
# yum install vsftpd -y
2、修改配置文件,禁止匿名登录;
# vi /etc/vsftpd/vsftpd.conf
设置anonymous_enable=NO #禁止匿名用户
设置 chroot_list_enable=YES #锁定用户于主目录
设置chroot_list_file=/etc/vsftpd/chroot_list #锁定目录用户的列表
“:wq”保存退出
3、编辑锁定用户列表
# vi /etc/vsftpd/chroot_list
添加锁定目录用户的名称,例如“ftpuser”
“:wq”保存退出
4、添加Linux用户
# useradd -d /usr/share/nginx/html ftpuser
# passwd ftpuser #设置用户密码
5、添加防火墙端口
# firewall-cmd –permanent –add-service=ftp
# firewall-cmd –complete-reload #重新载入防火墙
# firewall-cmd –list-all #查看是否启动端口
6、启动FTP服务
# systemctl start vsftpd
# systemctl enable vsftpd #设置服务自动启动
7、登录FTP验证服务可用性
CentOS7取消PHP上传文件2M限制
1、登录CentOS,取得root权限;
2、编辑PHP.ini配置文件;
# cp /etc/php.ini /etc/php.ini.back #备份php.ini文件,此步选作
# vi /etc/php.ini #编辑php.ini文件
在vi编辑器中,使用“/”指令,输入查找内容“upload_max_filesize”找到对应的代码,设置如下,此处设置文件大小为16兆,可以根据需求修改。
upload_max_filesize = 16M
同上,使用相似方式修改如下两项配置。
post_max_size = 16M
max_execution_time = 300
使用“wq”指令退出文件编辑器。
3、设置nginx服务器,如果使用nginx服务器,使用如下指令编辑配置文件;
# vi /etc/nginx/nginx.conf
4、添加以下代码中的粗体部分,使用“:wq”,保存退出;
location ~ .php$ {
try_files $uri =404;
fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
fastcgi_index index.php;
client_max_body_size 16M; #set max upload files
fastcgi_param SCRIPT_FILENAME document_root$fastcgi_script_name;
include fastcgi_params;
}
5、重启动启动PHP服务,重新启动Nginx或者Apache服务。
# systemctl restart php-fpm
# systemctl restart nginx
6、使用PHP系统上传文件测试修改效果。
CentOS7升级PHP
CentOS7默认安装的PHP是5.4版本,但是很多应用应用系统要求高版本的PHP支持,那么需要添加第三方仓库,安装更高版本。
1、查询PHP版本
# php -v
执行后显示如下版本信息,可以使用 “php -v ->php.info”,将版本信息重定向输出到一个文件中,为系统回滚做必要的准备。
php.x86_64 5.4.16-46.1.el7_7 @updates
php-cli.x86_64 5.4.16-46.1.el7_7 @updates
php-common.x86_64 5.4.16-46.1.el7_7 @updates
php-fpm.x86_64 5.4.16-46.1.el7_7 @updates
php-mysql.x86_64 5.4.16-46.1.el7_7 @updates
php-pdo.x86_64 5.4.16-46.1.el7_7 @updates
2、添加软件源
# 以下两条命令执行其中一条即可
# rpm -Uvh https://mirror.webtatic.com/yum/el7/epel-release.rpm
# rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
3、移除现有版本PHP
# yum remove php-common -y
4、安装新版本PHP依赖包,此处以7.2版本为例
#yum install -y php72w php72w-opcache php72w-xml php72w-mcrypt php72w-gd php72w-devel php72w-mysql php72w-intl php72w-mbstring php72w-cli php72-fpm
5、再次查询PHP版本,显示新的版本信息
6、重新配置PHP相关配置文件
7、重启PHP相关服务,重启Web服务,测试可用性
Nginx构建Web服务器http重定向https
1、确认服务器类型是由Nginx搭建
2、编辑Nginx配置文件
# vi /etc/nginx/nginx.conf
3、将原有的80号端口的http服务的代码使用“#”注销掉,注意结构完整。将以下代码添加到配置文件中,将http服务映射到https服务。
server {
listen 80;
server_name your_domain_name;
rewrite ^ https://$http_host$request_uri? permanent;
}
4、映射之后,如果原有证书是针对端口生成的,那么从http进入的流量会显示证书无效,可以使用站点根目录重新生成证书。
# certbot certonly --webroot -w /usr/share/nginx/html -d your_domain_name
5、重新启动Nginx服务,无论访问http服务,还是https服务,都可以在网址前显示小锁头图标。
# systemctl restart nginx
centos7,nginx,mysql,php,certbot搭建网络服务器
1、安装CentOS7系统,取得root权限;
2、添加防火墙端口;
# sudo firewall-cmd --permanent --add-service=http # 打开 HTTP 端口 # sudo firewall-cmd --permanent --add-service=https # 打开 HTTPS 端口 # sudo firewall-cmd --complete-reload # 重新加载防火墙配置
3、安装MariaDB数据库并设置自动启动;
# sudo yum install mariadb mariadb-server #安装数据库 # sudo systemctl start mariadb #启动数据库 # sudo systemctl enable mariadb #设置自动启动 # with mysql_secure_installation #初始化数据库
4、安装Nginx;
# sudo yum install nginx -y #安装nginx # sudo systemctl enable nginx #设置nginx服务自动启动 # sudo systemctl start nginx #启动nginx服务
5、安装PHP运行环境,并设置自动启动PHP-FPM;
# yum install php-fpm php-mysql php-cli php #安装PHP-FPM、PHP、PHP-CLI # sudo systemctl enable php-fpm #设置PHP-FPM服务自动启动 # sudo systemctl start php-fpm #启动PHP-FPM服务
6、配置Nginx与PHP-FPM协同工作;
# sudo vi /etc/php.ini #编辑PHP配置文件 cgi.fix_pathinfo=0 #查找cgi.fix_pathinfo,并设置等于0 #vi中使用wq指令保存并退出编辑
# sudo vi /etc/php-fpm.d/www.conf #编辑www.conf配置文件 listen = /run/php-fpm/php-fpm.sock #使用Unix接口替换9000号端口 listen.owner = nginx #查找listen.owner,将值设置成nginx listen.group = nginx #查找listen.group,将值设置成nginx user = nginx #查找Unix用户关键字user,将值设置成nginx group = nginx #查找Unix用户组关键字group,将值设置成nginx #vi中使用wq指令保存并退出编辑
# sudo systemctl restart php-fpm #重启动PHP-FPM
# sudo vi /etc/nginx/conf.d/default.conf #创建nginx默认配置文件 #将一下代码粘贴在文件中,对文件中的参数进行必要修改,并保存退出。 server { listen 80; server_name your_server_ip; #此处用你的服务器IP地址或者域名替代your_server_ip root /usr/share/nginx/html; index index.php index.html index.htm; location / { try_files $uri $uri/ =404; } error_page 404 /404.html; error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/share/nginx/html; } location ~ \.php$ { try_files $uri =404; fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } }
# sudo systemctl restart nginx #重启动nginx服务
7、验证PHP运行
# sudo vi /usr/share/nginx/html/test.php #创建一个测试网页 #在文件中输入如下代码并保存退出 <?php phpinfo(); ?>
http://server_IP_address/test.php #在浏览器中输入网址,使用服务器IP或者域名替换server_IP_address,如果打开服务器PHP统计信息页,则服务器搭建完成
8、生成证书
# sudo yum install certbot #安装certbot,准备生成证书 # 使用以下两种方法之一生成证书 # sudo
certbot certonly --webroot -w /var/www/example -d example.com -d www.example.com #可以指定服务器路径和域名生成证书 # sudo
certbot certonly --standalone -d example.com -d www.example.com #也可以不指定路径,对服务器443端口生成证书 # 成功生成证书后会提示证书保存路径,请记录,后续待用
9、启动https服务
# sudo vi /etc/nginx/conf.d/default.conf #修改nginx默认配置文件 #将一下代码粘贴在文件中末尾的空行中,对文件中的参数进行必要修改,并保存退出。 server { listen 443 ssl http2 default_server; listen [::]:443 ssl http2 default_server; server_name your_server_ip; #此处用你的服务器IP地址或者域名替代 root /usr/share/nginx/html; index index.php index.html index.htm; ssl_certificate "your_cert_path_and_filename"; #设置证书路径和文件名 ssl_certificate_key "your_private_key_path_and_filename"; #设置私钥证书路径和文件名 ssl_session_cache shared:SSL:1m; ssl_session_timeout 10m; ssl_ciphers HIGH:!aNULL:!MD5; ssl_prefer_server_ciphers on; # Load configuration files for the default server block. include /etc/nginx/default.d/*.conf; location ~ \.php$ { try_files $uri =404; fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } }