CentOS是红帽发行的免费的稳定Linux版本,在企业服务器应用中都会选用Minimal版本,因为Minimal是CentOS”最纯洁”的服务器系统,因为Minimal版本连vim编辑器都需要自己安装,Minimal组件最少,无桌面,扩展灵活,非常适合做服务器。
1.配置网卡
Minimal版本的CentOS被安装后,网卡驱动默认是down状态,需要手动激活,在连接好网线后需要执行命令:
[root@jhq0113 soft]# vi /etc/sysconfig/network-scripts/ifcfg-eth0
然后按i进入编辑状态,进行如下修改:
修改完毕后,按ESC,然后shift+:,wq进行保存退出。
然后开始配置DNS服务器地址:
[root@jhq0113 soft]# vi /etc/resolv.conf
最主要的是配置nameserver属性,可以是自己的网关地址,如下图所示:
修改完毕后保存退出。键入以下命令激活网卡:
[root@jhq0113 soft]# ifconfig eth0 up
至此,网卡已经配置好了,如果仍然发现开机网卡未启动等问题,可以执行以下两条命令进行完善。
[root@jhq0113 soft]# chkconfig ?add network
[root@jhq0113 soft]# chkconfig network on
重启网卡命令:
2.配置防火墙,开放22(SSH),3306(Mysql),80(Nginx),11211(Memcached),6379(Redis)端口
[root@jhq0113 soft]# vi /etc/sysconfig/iptables
修改为:
重启防火墙使配置生效:
[root@jhq0113 soft]# /etc/init.d/iptables restart
3.安装组件
更新系统:
[root@jhq0113 soft]# yum update
稍后键入y进行确认。
安装vim:
[root@jhq0113 soft]# yum install vim
安装编译工具及依赖:
[root@jhq0113 soft]# yum install make apr* autoconf automake curl-devel gcc gcc-c++ zlib-devel openssl openssl-devel pcre-devel gd kernel keyutils patch perl kernel-headers compat* mpfr cpp glibc libgomp libstdc++-devel ppl cloog-ppl keyutils-libs-devel libcom_err-devel libsepol-devel libselinux-devel krb5-devel zlib-devel libXpm* freetype libjpeg* libpng* php-common php-gd ncurses* libtool* libxml2 libxml2-devel patch
4.下载Cmake,Mysql,PHP,Nginx,libevent,libmcrypt,pcre,memcached
如果自己寻找这些很困难,推荐给大家几个很好的源地址:
阿里:http://mirrors.aliyun.com/
搜狐:http://mirrors.sohu.com/
网易:http://mirrors.163.com/
我的就是在搜狐下载的,版本如下:
5.系统约定
软件源代码包存放位置:/usr/local/src
源码包编译安装位置:/usr/local/软件名字
源码放在/usr/local/src的实现方案有多种,可以在Windows下载,然后通过Xftp传送至指定目录,也可以cd到指定目录,wget 下载地址; 进行下载。
6.正式编译安装
安装Mysql:
Mysql需要Cmake进行编译安装,所以在安装Mysql前必须先安装Cmake
解压Cmake:
[root@jhq0113 src]# tar xzvf cmake-3.1.1.tar.gz
进入cmake解压后目录:
[root@jhq0113 src]# cd cmake-3.1.1
预编译,这个过程可能需要一段时间:
[root@jhq0113 cmake-3.1.1]# ./configure
编译并安装:
[root@jhq0113 cmake-3.1.1]# make && make install
添加mysql组
[root@jhq0113 cmake-3.1.1]# groupadd mysql
创建用户mysql并加入到mysql组,不允许mysql用户直接登录系统
[root@jhq0113 cmake-3.1.1]# useradd -g mysql mysql -s /bin/false
创建MySQL数据库存放目录
[root@jhq0113 cmake-3.1.1]# mkdir -p /data/mysql
设置MySQL数据库存放目录权限
[root@jhq0113 cmake-3.1.1]# chown -R mysql:mysql /data/mysql
创建MySQL安装目录
[root@jhq0113 cmake-3.1.1]# mkdir -p /usr/local/mysql
返回/usr/local/src目录:
[root@jhq0113 cmake-3.1.1]# cd /usr/local/src
解压mysql:
[root@jhq0113 src]# tar xzvf mysql-5.6.13.tar.gz
进入mysql解压目录:
[root@jhq0113 src]# cd mysql-5.6.13
用Cmake预编译Mysql,此过程可能需要一段时间:
[root@jhq0113 mysql-5.6.13]# cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/data/mysql -DSYSCONFDIR=/etc/
编译:
[root@jhq0113 mysql-5.6.13]# make
安装:
[root@jhq0113 mysql-5.6.13]# make install
拷贝配置文件(如果/etc目录下面默认有一个my.cnf,直接覆盖即可):
[root@jhq0113 support-files]# cp /usr/local/mysql/support-files/my-default.cnf /etc/init.d/my.cnf
添加Mysql路径:
[root@jhq0113 support-files]# vim /etc/my.cnf
修改后:
生成Mysql系统数据库:
[root@jhq0113 support-files]# /usr/local/mysql/scripts/mysql_install_db ?user=mysql ?basedir=/usr/local/mysql ?datadir=/data/mysql
把Mysql加入系统启动:
[root@jhq0113 support-files]# cp /usr/local/mysql/support-files/mysql.server /etc/rc.d/init.d/mysqld
增加mysqld执行权限:
[root@jhq0113 support-files]# chmod 755 /etc/init.d/mysqld
mysqld加入开机启动:
[root@jhq0113 support-files]# chkconfig mysqld on
编辑配置文件:
[root@jhq0113 support-files]# vim /etc/init.d/mysqld
修改后:
把Mysql服务加入系统环境变量:
[root@jhq0113 support-files]# vim /etc/profile
修改后:
将myslq的库文件链接到系统默认的位置,以确保在编译类似PHP等软件时可以不用指定mysql的库文件地址。
[root@jhq0113 support-files]# ln -s /usr/local/mysql/lib/mysql /usr/lib/mysql
[root@jhq0113 support-files]# ln -s /usr/local/mysql/include/mysql /usr/include/mysql
重启系统:
reboot
建立连接:
[root@jhq0113 ~]# ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock
重启Mysqld:
[root@jhq0113 ~]# service mysqld restart
设置Mysql密码:
[root@jhq0113 support-files]# /usr/local/mysql/bin/mysql_secure_installation
修改root密码:
默认没有密码,直接回车,然后输入两次密码,一路按Y 回车下去
设置Mysql可以远程登录:
[root@jhq0113 ~]# mysql -uroot -p
输入密码登录,然后执行下面的语句,限制Mysql root用户可以在指定Ip地址下远程登录
mysql> grant all privileges on . to ‘root’192.168.1.*’%’ identified by ‘你的密码’;
更新权限:
mysql> flush privileges;
退出:
mysql> exit;
这样你的Mysql就可以在192.168.1.*内用Navicat进行远程登录了。
至此,Mysql安装完毕。
安装Nginx:
安装Nginx之前需要安装pcre,进入/usr/local/src目录,解压pcre,进入pcre解压目录,执行以下命令进行编译安装:
[root@jhq0113 pcre-8.35]# ./configure ?prefix=/usr/local/pcre && make && make install
创建web组合web用户,不允许web用户直接登录系统:
[root@jhq0113 pcre-8.35]# groupadd web
[root@jhq0113 pcre-8.35]# useradd -g web web -s /bin/false
编译安装nginx,解压,进入安装目录,执行以下命令:
[root@jhq0113 nginx-1.7.0]# ./configure ?prefix=/usr/local/nginx ?without-http_memcached_module ?user=web ?group=web ?with-http_stub_status_module ?with-openssl=/usr/ ?with-pcre=/usr/local/src/pcre-8.35
注意:?with-pcre=/usr/local/src/pcre-8.31指向的是源码包解压的路径,而不是安装的路径,否则会报错
编译安装:
[root@jhq0113 nginx-1.7.0]# make && make install
编辑Nginx启动命令:
[root@jhq0113 nginx-1.7.0]# vim /etc/init.d/nginx
加入下面内容:
!/bin/bash nginx Startup script for the Nginx HTTP Server it is v.0.0.2 version. chkconfig: - 85 15 description: Nginx is a high-performance web and proxy server. It has a lot of features, but it’s not for everyone. processname: nginx pidfile: /var/run/nginx.pid config: /usr/local/nginx/conf/nginx.confnginxd=/usr/local/nginx/sbin/nginx
nginx_config=/usr/local/nginx/conf/nginx.conf
nginx_pid=/usr/local/nginx/logs/nginx.pid
RETVAL=0
prog=”nginx”
Source function library.. /etc/rc.d/init.d/functions
Source networking configuration.. /etc/sysconfig/network
Check that networking is up.[ ${NETWORKING} = “no” ] && exit 0
[ -x $nginxd ] || exit 0
Start nginx daemons functions.start() {
if [ -e $nginx_pid ];then
echo “nginx already running….”
exit 1
fi
echo -n "Starting prog: “
daemon nginxd?c {nginx_config}
RETVAL=$?
echo
[ $RETVAL = 0 ] && touch /var/lock/subsys/nginx
return $RETVAL
}
Stop nginx daemons functions.stop() {
echo -n "Stopping prog: “
killproc $nginxd
RETVAL=$?
echo
[ $RETVAL = 0 ] && rm -f /var/lock/subsys/nginx /usr/local/nginx/logs/nginx.pid
}
reload() {
echo -n "Reloading prog: “
kill -HUP cat ${nginx_pid}killproc $nginxd -HUP
RETVAL=$?
echo
}
See how we were called.case “$1” in
start)
start
;;
stop)
stop
;;
reload)
reload
;;
restart)
stop
start
;;
status)
status $prog
RETVAL=$?
;;
*)
echo "Usage: prog {start|stop|restart|reload|status|help}”
exit 1
esac
exit $RETVAL
赋予nginx执行权限:
[root@jhq0113 nginx-1.7.0]# chmod 775 /etc/init.d/nginx
设置nginx开机启动:
[root@jhq0113 nginx-1.7.0]# chkconfig nginx on
启动nginx:
[root@jhq0113 nginx-1.7.0]# service nginx start
测试Nginx安装和启动状态:
至此,Nginx安装完毕,待安装好PHP后再做对PHP的支持和指定自定义发布目录设置。
创建web目录:
[root@jhq0113 nginx-1.7.0]# mkdir -p /home/data/web
未完待续!

PHP는 현대적인 프로그래밍, 특히 웹 개발 분야에서 강력하고 널리 사용되는 도구로 남아 있습니다. 1) PHP는 사용하기 쉽고 데이터베이스와 완벽하게 통합되며 많은 개발자에게 가장 먼저 선택됩니다. 2) 동적 컨텐츠 생성 및 객체 지향 프로그래밍을 지원하여 웹 사이트를 신속하게 작성하고 유지 관리하는 데 적합합니다. 3) 데이터베이스 쿼리를 캐싱하고 최적화함으로써 PHP의 성능을 향상시킬 수 있으며, 광범위한 커뮤니티와 풍부한 생태계는 오늘날의 기술 스택에 여전히 중요합니다.

PHP에서는 약한 참조가 약한 회의 클래스를 통해 구현되며 쓰레기 수집가가 물체를 되 찾는 것을 방해하지 않습니다. 약한 참조는 캐싱 시스템 및 이벤트 리스너와 같은 시나리오에 적합합니다. 물체의 생존을 보장 할 수 없으며 쓰레기 수집이 지연 될 수 있음에 주목해야합니다.

\ _ \ _ 호출 메소드를 사용하면 객체를 함수처럼 호출 할 수 있습니다. 1. 객체를 호출 할 수 있도록 메소드를 호출하는 \ _ \ _ 정의하십시오. 2. $ obj (...) 구문을 사용할 때 PHP는 \ _ \ _ invoke 메소드를 실행합니다. 3. 로깅 및 계산기, 코드 유연성 및 가독성 향상과 같은 시나리오에 적합합니다.

섬유는 PHP8.1에 도입되어 동시 처리 기능을 향상시켰다. 1) 섬유는 코 루틴과 유사한 가벼운 동시성 모델입니다. 2) 개발자는 작업의 실행 흐름을 수동으로 제어 할 수 있으며 I/O 집약적 작업을 처리하는 데 적합합니다. 3) 섬유를 사용하면보다 효율적이고 반응이 좋은 코드를 작성할 수 있습니다.

PHP 커뮤니티는 개발자 성장을 돕기 위해 풍부한 자원과 지원을 제공합니다. 1) 자료에는 공식 문서, 튜토리얼, 블로그 및 Laravel 및 Symfony와 같은 오픈 소스 프로젝트가 포함됩니다. 2) 지원은 StackoverFlow, Reddit 및 Slack 채널을 통해 얻을 수 있습니다. 3) RFC에 따라 개발 동향을 배울 수 있습니다. 4) 적극적인 참여, 코드에 대한 기여 및 학습 공유를 통해 커뮤니티에 통합 될 수 있습니다.

PHP와 Python은 각각 고유 한 장점이 있으며 선택은 프로젝트 요구 사항을 기반으로해야합니다. 1.PHP는 간단한 구문과 높은 실행 효율로 웹 개발에 적합합니다. 2. Python은 간결한 구문 및 풍부한 라이브러리를 갖춘 데이터 과학 및 기계 학습에 적합합니다.

PHP는 죽지 않고 끊임없이 적응하고 진화합니다. 1) PHP는 1994 년부터 새로운 기술 트렌드에 적응하기 위해 여러 버전 반복을 겪었습니다. 2) 현재 전자 상거래, 컨텐츠 관리 시스템 및 기타 분야에서 널리 사용됩니다. 3) PHP8은 성능과 현대화를 개선하기 위해 JIT 컴파일러 및 기타 기능을 소개합니다. 4) Opcache를 사용하고 PSR-12 표준을 따라 성능 및 코드 품질을 최적화하십시오.

PHP의 미래는 새로운 기술 트렌드에 적응하고 혁신적인 기능을 도입함으로써 달성 될 것입니다. 1) 클라우드 컴퓨팅, 컨테이너화 및 마이크로 서비스 아키텍처에 적응, Docker 및 Kubernetes 지원; 2) 성능 및 데이터 처리 효율을 향상시키기 위해 JIT 컴파일러 및 열거 유형을 도입합니다. 3) 지속적으로 성능을 최적화하고 모범 사례를 홍보합니다.


핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

Dreamweaver Mac版
시각적 웹 개발 도구

맨티스BT
Mantis는 제품 결함 추적을 돕기 위해 설계된 배포하기 쉬운 웹 기반 결함 추적 도구입니다. PHP, MySQL 및 웹 서버가 필요합니다. 데모 및 호스팅 서비스를 확인해 보세요.

Eclipse용 SAP NetWeaver 서버 어댑터
Eclipse를 SAP NetWeaver 애플리케이션 서버와 통합합니다.

VSCode Windows 64비트 다운로드
Microsoft에서 출시한 강력한 무료 IDE 편집기

PhpStorm 맥 버전
최신(2018.2.1) 전문 PHP 통합 개발 도구
