1. 程式人生 > >centos 7.2 Apache+mysql+php step by step備忘

centos 7.2 Apache+mysql+php step by step備忘

1. 如何允許laravel程式執行sudo shell指令碼?

chmod u+w /etc/sudoers ;
echo "apache ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers
再註釋掉Defaults requiretty這行,否則會要求有tty才能執行!(TODO: 寫shell實現自動化)
chmod u-w /etc/sudoers
2. OS: CentOS 7.2 x64
3. 安裝zend server ce: (由於zend現在修改了策略開始收費,我們必須自己搭建環境了!)
tar xvfz ZendServer-8.0.2-RepositoryInstaller-linux.tar.gz
cd ZendServer-8.0.2-RepositoryInstaller-linux
./install_zs.sh 5.6
4. 常用其他命令:
yum search php- :列出所有php-的包
yum search git :列出所有git的包
yum info git.x86_64 : 列出git.x86_64的包的細節,比如版本資訊,如果太老,可能需要重新安裝
由於通過檢視yum info php.x86_64發現版本是很低的,因此要用PHP5.6以上我們必須自己build

5. 從原始碼build安裝git
rpm -qa |grep git /列出所有已經安裝的包含git字串的包
由於git預設版本太老1.8.x我們需要erase掉(但是要注意其erase時會把dependency也清除掉)
yum erase git-1.8.3.1-6.el7_2.1.x86_64
yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel
yum install gcc perl-ExtUtils-MakeMaker
cd /usr/src
wget https://www.kernel.org/pub/software/scm/git/git-2.0.4.tar.gz

tar xzf git-2.0.4.tar.gz
cd git-2.0.4

make prefix=/usr/local/git all
make prefix=/usr/local/git install
echo "export PATH=/usr/local/git/bin:$PATH" >> /etc/bashrc
source /etc/bashrc
git --version

6. 安裝apache
yum install httpd
systemctl start httpd.service (注意以前的service httpd restart已經全部改為systemctrl 動作 服務名.service 了!)
測試 http://localhost 確認apache已經正確啟動
systemctl enable httpd.service // 開機啟動httpd
systemctl disable httpd.service // 禁止開機啟動httpd
// apache的一些modules都放在 /usr/lib54/httpd/目錄下,有可能部分沒有預設安裝, Cannot load modules/mod_authn_alias.so ,解決辦法:(暫時註釋掉了)
// AH00548: NameVirtualHost has no effect and will be removed in the next release: 從2.4開始已經不需要這個NameVirtualHost directive了
apachectl -v // 顯示版本資訊 Server version: Apache/2.4.6 (CentOS) Server built: Nov 14 2016 18:04:44

// 新版本apche一個虛擬主機配置如下:
"
<VirtualHost *:80>
ServerAdmin [email protected]
DocumentRoot /assets/www/newkidsitl5229/public/
ServerName kidsit.cn
#ServerAlias *.kidsit.cn
ErrorLog logs/kidsit_staging.error_log
CustomLog logs/kidsit_staging.access_log common
<Directory /assets/www/newkidsitl5229/public/>
DirectoryIndex index.html index.php
AllowOverride All // 注意這個用來控制允許.htaccess檔案被apache使用 rewrite的!
Require all granted
</Directory>
</VirtualHost>
"
apachectl -M // 列出apache已經載入的so(shared object以LoadModule的方式載入進來的)
apachectl -l // 列出compiled in module
ServerName kidsit.cn:80 // 雖然不設定沒有什麼大的問題,但是會在systemctl status -l httpd.service中出現一個錯誤(雖然不影響使用)

7. 安裝mysql
注意:由於centos7自帶mariadb,而不再自帶mysql,因此你直接執行yum install mysql-server會報找不到mysql,方法:
rpm -Uvh http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm // 這個是myslq的repo,安裝之後yum search mysql就能看到mysql-community-server了
yum install mysql-community-server // 只能安裝mysql-community-server了,因為oracle收購mysql後,搞了多種license為了收錢
systemctl start mysqld.service
systemctl enable mysqld.service
mysql -uroot -p // 預設沒有密碼,登入進去後再修改密碼
set password for 'root'@'localhost' =password('[email protected]');
8. 安裝PHP
yum install git gcc gcc-c++ libxml2-devel pkgconfig openssl-devel bzip2-devel curl-devel libpng-devel libjpeg-devel libXpm-devel freetype-devel gmp-devel libmcrypt-devel mariadb-devel aspell-devel recode-devel autoconf bison re2c libicu-devel httpd-devel
// 注意httpd-devel是用來包含apxs2工具的,否則無法build出libphp7.so檔案來

yum install bzip2 // 該命令安裝bzip2小工具,用於tar -xjv .bz2檔案解壓
wget http://cn2.php.net/distributions/php-7.1.0.tar.bz2
tar -xjf php-7.1.0.tar.bz2 // 解壓
cd php-7.1.0

// 下面的命令將configure php with basic extension,並且為build做準備
./configure --help //列出所有你可以選擇的extension功能開關
"

[[email protected] php-7.1.0]# ./configure --help
`configure' configures this package to adapt to many kinds of systems.

Usage: ./configure [OPTION]... [VAR=VALUE]...

To assign environment variables (e.g., CC, CFLAGS...), specify them as
VAR=VALUE. See below for descriptions of some of the useful variables.

Defaults for the options are specified in brackets.

Configuration:
-h, --help display this help and exit
--help=short display options specific to this package
--help=recursive display the short help of all the included packages
-V, --version display version information and exit
-q, --quiet, --silent do not print `checking ...' messages
--cache-file=FILE cache test results in FILE [disabled]
-C, --config-cache alias for `--cache-file=config.cache'
-n, --no-create do not create output files
--srcdir=DIR find the sources in DIR [configure dir or `..']

Installation directories:
--prefix=PREFIX install architecture-independent files in PREFIX
[/usr/local]
--exec-prefix=EPREFIX install architecture-dependent files in EPREFIX
[PREFIX]

By default, `make install' will install all the files in
`/usr/local/bin', `/usr/local/lib' etc. You can specify
an installation prefix other than `/usr/local' using `--prefix',
for instance `--prefix=$HOME'.

For better control, use the options below.

Fine tuning of the installation directories:
--bindir=DIR user executables [EPREFIX/bin]
--sbindir=DIR system admin executables [EPREFIX/sbin]
--libexecdir=DIR program executables [EPREFIX/libexec]
--sysconfdir=DIR read-only single-machine data [PREFIX/etc]
--sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
--localstatedir=DIR modifiable single-machine data [PREFIX/var]
--libdir=DIR object code libraries [EPREFIX/lib]
--includedir=DIR C header files [PREFIX/include]
--oldincludedir=DIR C header files for non-gcc [/usr/include]
--datarootdir=DIR read-only arch.-independent data root [PREFIX/share]
--datadir=DIR read-only architecture-independent data [DATAROOTDIR]
--infodir=DIR info documentation [DATAROOTDIR/info]
--localedir=DIR locale-dependent data [DATAROOTDIR/locale]
--mandir=DIR man documentation [DATAROOTDIR/man]
--docdir=DIR documentation root [DATAROOTDIR/doc/PACKAGE]
--htmldir=DIR html documentation [DOCDIR]
--dvidir=DIR dvi documentation [DOCDIR]
--pdfdir=DIR pdf documentation [DOCDIR]
--psdir=DIR ps documentation [DOCDIR]

System types:
--build=BUILD configure for building on BUILD [guessed]
--host=HOST cross-compile to build programs to run on HOST [BUILD]
--target=TARGET configure for building compilers for TARGET [HOST]

Optional Features and Packages:
--disable-option-checking ignore unrecognized --enable/--with options
--disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
--enable-FEATURE[=ARG] include FEATURE [ARG=yes]
--with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
--without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
--with-libdir=NAME Look for libraries in .../NAME rather than .../lib
--disable-rpath Disable passing additional runtime library
search paths
--enable-re2c-cgoto Enable -g flag to re2c to use computed goto gcc extension
--disable-gcc-global-regs
whether to enable GCC global register variables

SAPI modules:

--with-apxs2=FILE Build shared Apache 2.0 Handler module. FILE is the optional
pathname to the Apache apxs tool apxs
--disable-cli Disable building CLI version of PHP
(this forces --without-pear)
--enable-embed=TYPE EXPERIMENTAL: Enable building of embedded SAPI library
TYPE is either 'shared' or 'static'. TYPE=shared
--enable-fpm Enable building of the fpm SAPI executable
--with-fpm-user=USER Set the user for php-fpm to run as. (default: nobody)
--with-fpm-group=GRP Set the group for php-fpm to run as. For a system user, this
should usually be set to match the fpm username (default: nobody)
--with-fpm-systemd Activate systemd integration
--with-fpm-acl Use POSIX Access Control Lists
--with-litespeed Build PHP as litespeed module
--enable-phpdbg Build phpdbg
--enable-phpdbg-webhelper Build phpdbg web SAPI support
--enable-phpdbg-debug Build phpdbg in debug mode
--disable-cgi Disable building CGI version of PHP

General settings:

--enable-gcov Enable GCOV code coverage (requires LTP) - FOR DEVELOPERS ONLY!!
--enable-debug Compile with debugging symbols
--with-layout=TYPE Set how installed files will be laid out. Type can
be either PHP or GNU [PHP]
--with-config-file-path=PATH
Set the path in which to look for php.ini [PREFIX/lib]
--with-config-file-scan-dir=PATH
Set the path where to scan for configuration files
--enable-sigchild Enable PHP's own SIGCHLD handler
--enable-libgcc Enable explicitly linking against libgcc
--disable-short-tags Disable the short-form <? start tag by default
--enable-dmalloc Enable dmalloc
--disable-ipv6 Disable IPv6 support
--enable-dtrace Enable DTrace support
--enable-fd-setsize Set size of descriptor sets

Extensions:

--with-EXTENSION=shared[,PATH]

NOTE: Not all extensions can be build as 'shared'.

Example: --with-foobar=shared,/usr/local/foobar/

o Builds the foobar extension as shared extension.
o foobar package install prefix is /usr/local/foobar/


--disable-all Disable all extensions which are enabled by default

--disable-libxml Disable LIBXML support
--with-libxml-dir=DIR LIBXML: libxml2 install prefix
--with-openssl=DIR Include OpenSSL support (requires OpenSSL >= 1.0.1)
--with-kerberos=DIR OPENSSL: Include Kerberos support
--with-system-ciphers OPENSSL: Use system default cipher list instead of hardcoded value
--with-pcre-regex=DIR Include Perl Compatible Regular Expressions support.
DIR is the PCRE install prefix BUNDLED
--with-pcre-jit Enable PCRE JIT functionality
--without-sqlite3=DIR Do not include SQLite3 support. DIR is the prefix to
SQLite3 installation directory.
--with-zlib=DIR Include ZLIB support (requires zlib >= 1.0.9)
--with-zlib-dir=<DIR> Define the location of zlib install directory
--enable-bcmath Enable bc style precision math functions
--with-bz2=DIR Include BZip2 support
--enable-calendar Enable support for calendar conversion
--disable-ctype Disable ctype functions
--with-curl=DIR Include cURL support
--enable-dba Build DBA with bundled modules. To build shared DBA
extension use --enable-dba=shared
--with-qdbm=DIR DBA: QDBM support
--with-gdbm=DIR DBA: GDBM support
--with-ndbm=DIR DBA: NDBM support
--with-db4=DIR DBA: Oracle Berkeley DB 4.x or 5.x support
--with-db3=DIR DBA: Oracle Berkeley DB 3.x support
--with-db2=DIR DBA: Oracle Berkeley DB 2.x support
--with-db1=DIR DBA: Oracle Berkeley DB 1.x support/emulation
--with-dbm=DIR DBA: DBM support
--with-tcadb=DIR DBA: Tokyo Cabinet abstract DB support
--without-cdb=DIR DBA: CDB support (bundled)
--disable-inifile DBA: INI support (bundled)
--disable-flatfile DBA: FlatFile support (bundled)
--disable-dom Disable DOM support
--with-libxml-dir=DIR DOM: libxml2 install prefix
--with-enchant=DIR Include enchant support.
GNU Aspell version 1.1.3 or higher required.
--enable-exif Enable EXIF (metadata from images) support
--disable-fileinfo Disable fileinfo support
--disable-filter Disable input filter support
--with-pcre-dir FILTER: pcre install prefix
--enable-ftp Enable FTP support
--with-openssl-dir=DIR FTP: openssl install prefix
--with-gd=DIR Include GD support. DIR is the GD library base
install directory BUNDLED
--with-webp-dir=DIR GD: Set the path to libwebp install prefix
--with-jpeg-dir=DIR GD: Set the path to libjpeg install prefix
--with-png-dir=DIR GD: Set the path to libpng install prefix
--with-zlib-dir=DIR GD: Set the path to libz install prefix
--with-xpm-dir=DIR GD: Set the path to libXpm install prefix
--with-freetype-dir=DIR GD: Set the path to FreeType 2 install prefix
--enable-gd-native-ttf GD: Enable TrueType string function
--enable-gd-jis-conv GD: Enable JIS-mapped Japanese font support
--with-gettext=DIR Include GNU gettext support
--with-gmp=DIR Include GNU MP support
--with-mhash=DIR Include mhash support
--disable-hash Disable hash support
--without-iconv=DIR Exclude iconv support
--with-imap=DIR Include IMAP support. DIR is the c-client install prefix
--with-kerberos=DIR IMAP: Include Kerberos support. DIR is the Kerberos install prefix
--with-imap-ssl=DIR IMAP: Include SSL support. DIR is the OpenSSL install prefix
--with-interbase=DIR Include Firebird support. DIR is the Firebird base
install directory /opt/firebird
--enable-intl Enable internationalization support
--with-icu-dir=DIR Specify where ICU libraries and headers can be found
--disable-json Disable JavaScript Object Serialization support
--with-ldap=DIR Include LDAP support
--with-ldap-sasl=DIR LDAP: Include Cyrus SASL support
--enable-mbstring Enable multibyte string support
--disable-mbregex MBSTRING: Disable multibyte regex support
--disable-mbregex-backtrack
MBSTRING: Disable multibyte regex backtrack check
--with-libmbfl=DIR MBSTRING: Use external libmbfl. DIR is the libmbfl base
install directory BUNDLED
--with-onig=DIR MBSTRING: Use external oniguruma. DIR is the oniguruma install prefix.
If DIR is not set, the bundled oniguruma will be used
--with-mcrypt=DIR Include mcrypt support
--with-mysqli=FILE Include MySQLi support. FILE is the path
to mysql_config. If no value or mysqlnd is passed
as FILE, the MySQL native driver will be used
--enable-embedded-mysqli
MYSQLi: Enable embedded support
Note: Does not work with MySQL native driver!
--with-mysql-sock=SOCKPATH
MySQLi/PDO_MYSQL: Location of the MySQL unix socket pointer.
If unspecified, the default locations are searched
--with-oci8=DIR Include Oracle Database OCI8 support. DIR defaults to $ORACLE_HOME.
Use --with-oci8=instantclient,/path/to/instant/client/lib
to use an Oracle Instant Client installation
--with-odbcver=HEX Force support for the passed ODBC version. A hex number is expected, default 0x0350.
Use the special value of 0 to prevent an explicit ODBCVER to be defined.
--with-adabas=DIR Include Adabas D support /usr/local
--with-sapdb=DIR Include SAP DB support /usr/local
--with-solid=DIR Include Solid support /usr/local/solid
--with-ibm-db2=DIR Include IBM DB2 support /home/db2inst1/sqllib
--with-ODBCRouter=DIR Include ODBCRouter.com support /usr
--with-empress=DIR Include Empress support \$EMPRESSPATH
(Empress Version >= 8.60 required)
--with-empress-bcs=DIR
Include Empress Local Access support \$EMPRESSPATH
(Empress Version >= 8.60 required)
--with-birdstep=DIR Include Birdstep support /usr/local/birdstep
--with-custom-odbc=DIR Include user defined ODBC support. DIR is ODBC install base
directory /usr/local. Make sure to define CUSTOM_ODBC_LIBS and
have some odbc.h in your include dirs. f.e. you should define
following for Sybase SQL Anywhere 5.5.00 on QNX, prior to
running this configure script:
CPPFLAGS=\"-DODBC_QNX -DSQLANY_BUG\"
LDFLAGS=-lunix
CUSTOM_ODBC_LIBS=\"-ldblib -lodbc\"
--with-iodbc=DIR Include iODBC support /usr/local
--with-esoob=DIR Include Easysoft OOB support /usr/local/easysoft/oob/client
--with-unixODBC=DIR Include unixODBC support /usr/local
--with-dbmaker=DIR Include DBMaker support
--disable-opcache Disable Zend OPcache support
--disable-opcache-file Disable file based caching
--disable-huge-code-pages
Disable copying PHP CODE pages into HUGE PAGES
--enable-pcntl Enable pcntl support (CLI/CGI only)
--disable-pdo Disable PHP Data Objects support
--with-pdo-dblib=DIR PDO: DBLIB-DB support. DIR is the FreeTDS home directory
--with-pdo-firebird=DIR PDO: Firebird support. DIR is the Firebird base
install directory /opt/firebird
--with-pdo-mysql=DIR PDO: MySQL support. DIR is the MySQL base directory
If no value or mysqlnd is passed as DIR, the
MySQL native driver will be used
--with-zlib-dir=DIR PDO_MySQL: Set the path to libz install prefix
--with-pdo-oci=DIR PDO: Oracle OCI support. DIR defaults to \$ORACLE_HOME.
Use --with-pdo-oci=instantclient,prefix,version
for an Oracle Instant Client SDK.
For example on Linux with 11.2 RPMs use:
--with-pdo-oci=instantclient,/usr,11.2
With 10.2 RPMs use:
--with-pdo-oci=instantclient,/usr,10.2.0.4
--with-pdo-odbc=flavour,dir
PDO: Support for 'flavour' ODBC driver.
include and lib dirs are looked for under 'dir'.

'flavour' can be one of: ibm-db2, iODBC, unixODBC, generic
If ',dir' part is omitted, default for the flavour
you have selected will be used. e.g.:

--with-pdo-odbc=unixODBC

will check for unixODBC under /usr/local. You may attempt
to use an otherwise unsupported driver using the \"generic\"
flavour. The syntax for generic ODBC support is:

--with-pdo-odbc=generic,dir,libname,ldflags,cflags

When built as 'shared' the extension filename is always pdo_odbc.so
--with-pdo-pgsql=DIR PDO: PostgreSQL support. DIR is the PostgreSQL base
install directory or the path to pg_config
--without-pdo-sqlite=DIR
PDO: sqlite 3 support. DIR is the sqlite base
install directory BUNDLED
--with-pgsql=DIR Include PostgreSQL support. DIR is the PostgreSQL
base install directory or the path to pg_config
--disable-phar Disable phar support
--disable-posix Disable POSIX-like functions
--with-pspell=DIR Include PSPELL support.
GNU Aspell version 0.50.0 or higher required
--with-libedit=DIR Include libedit readline replacement (CLI/CGI only)
--with-readline=DIR Include readline support (CLI/CGI only)
--with-recode=DIR Include recode support
--disable-session Disable session support
--with-mm=DIR SESSION: Include mm support for session storage
--enable-shmop Enable shmop support
--disable-simplexml Disable SimpleXML support
--with-libxml-dir=DIR SimpleXML: libxml2 install prefix
--with-snmp=DIR Include SNMP support
--with-openssl-dir=DIR SNMP: openssl install prefix
--enable-soap Enable SOAP support
--with-libxml-dir=DIR SOAP: libxml2 install prefix
--enable-sockets Enable sockets support
--enable-sysvmsg Enable sysvmsg support
--enable-sysvsem Enable System V semaphore support
--enable-sysvshm Enable the System V shared memory support
--with-tidy=DIR Include TIDY support
--disable-tokenizer Disable tokenizer support
--enable-wddx Enable WDDX support
--with-libxml-dir=DIR WDDX: libxml2 install prefix
--with-libexpat-dir=DIR WDDX: libexpat dir for XMLRPC-EPI (deprecated)
--disable-xml Disable XML support
--with-libxml-dir=DIR XML: libxml2 install prefix
--with-libexpat-dir=DIR XML: libexpat install prefix (deprecated)
--disable-xmlreader Disable XMLReader support
--with-libxml-dir=DIR XMLReader: libxml2 install prefix
--with-xmlrpc=DIR Include XMLRPC-EPI support
--with-libxml-dir=DIR XMLRPC-EPI: libxml2 install prefix
--with-libexpat-dir=DIR XMLRPC-EPI: libexpat dir for XMLRPC-EPI (deprecated)
--with-iconv-dir=DIR XMLRPC-EPI: iconv dir for XMLRPC-EPI
--disable-xmlwriter Disable XMLWriter support
--with-libxml-dir=DIR XMLWriter: libxml2 install prefix
--with-xsl=DIR Include XSL support. DIR is the libxslt base
install directory (libxslt >= 1.1.0 required)
--enable-zip Include Zip read/write support
--with-zlib-dir=DIR ZIP: Set the path to libz install prefix
--with-pcre-dir ZIP: pcre install prefix
--with-libzip=DIR ZIP: use libzip
--enable-mysqlnd Enable mysqlnd explicitly, will be done implicitly
when required by other extensions
--disable-mysqlnd-compression-support
Disable support for the MySQL compressed protocol in mysqlnd
--with-zlib-dir=DIR mysqlnd: Set the path to libz install prefix

PEAR:

--with-pear=DIR Install PEAR in DIR [PREFIX/lib/php]
--without-pear Do not install PEAR

Zend:

--enable-maintainer-zts Enable thread safety - for code maintainers only!!
--disable-inline-optimization
If building zend_execute.lo fails, try this switch
--disable-zend-signals whether to enable zend signal handling

TSRM:

--with-tsrm-pth=pth-config
Use GNU Pth
--with-tsrm-st Use SGI's State Threads
--with-tsrm-pthreads Use POSIX threads (default)

Libtool:

--enable-shared=PKGS Build shared libraries default=yes
--enable-static=PKGS Build static libraries default=yes
--enable-fast-install=PKGS
Optimize for fast installation default=yes
--with-gnu-ld Assume the C compiler uses GNU ld default=no
--disable-libtool-lock Avoid locking (might break parallel builds)
--with-pic Try to use only PIC/non-PIC objects default=use both
--with-tags=TAGS Include additional configurations automatic


Some influential environment variables:
CC C compiler command
CFLAGS C compiler flags
LDFLAGS linker flags, e.g. -L<lib dir> if you have libraries in a
nonstandard directory <lib dir>
LIBS libraries to pass to the linker, e.g. -l<library>
CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I<include dir> if
you have headers in a nonstandard directory <include dir>
CPP C preprocessor
YACC The `Yet Another Compiler Compiler' implementation to use.
Defaults to the first program found out of: `bison -y', `byacc',
`yacc'.
YFLAGS The list of arguments that will be passed by default to $YACC.
This script will default YFLAGS to the empty string to avoid a
default value of `-d' given by some make applications.
CXX C++ compiler command
CXXFLAGS C++ compiler flags
CXXCPP C++ preprocessor

Use these variables to override the choices made by `configure' or to help
it to find libraries and programs with nonstandard names/locations.

Report bugs to the package provider.


"
./buildconf --force
./configure --prefix=/usr/local/php7 --with-config-file-path=/usr/local/php7/etc --with-config-file-scan-dir=/usr/local/php7/etc/conf.d --enable-bcmath --with-bz2 --with-curl --enable-filter --enable-fpm --with-gd --enable-gd-native-ttf --with-freetype-dir --with-jpeg-dir --with-png-dir --enable-intl --enable-mbstring --with-mcrypt --enable-mysqlnd --with-mysql-sock=/var/lib/mysql/mysql.sock --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-pdo-sqlite --disable-phpdbg --disable-phpdbg-webhelper --enable-opcache --with-openssl --enable-simplexml --with-sqlite3 --enable-xmlreader --enable-xmlwriter --enable-zip --with-zlib --with-apxs2

make // 上面的命令完成後,直接執行make編譯php過程,大概需要5分鐘
make install // 將make出來的php安裝到/uslr/local/php7目錄中
echo "export PATH=/usr/local/php7/bin:$PATH" >> /etc/bashrc
php --version // 顯示正確的php版本已經編譯出來了

cp ./php.ini-development /usr/local/php7/etc/php.ini
vi /etc/httpd/conf/httpd.conf
增加以下:
// PHPIniDir "/etc/php7/php.ini" (注意必須在httpd.conf中的loadModule php5_module之前 )
LoadModule php7_module /usr/lib64/httpd/modules/libphp7.so
<FilesMatch \.php$>
SetHandler application/x-httpd-php
</FilesMatch>
php -i | grep "Loaded Configuration File" // 可以檢查你的php.ini檔案到底有沒有載入,載入的是哪一個檔案

moddeflate.conf 檔案放到 /etc/httpd/conf.d檔案目錄中由apache載入用於壓縮js,css,html檔案

getent group // 獲取centos系統中的group
getent passwd //獲取centos系統的使用者A

9. copy mysql, html
tar -cjf mysql.tar.bz2 /assets/mysql
scp [email protected]:/assets/mysql.tar.bz2 .
tar -xjf mysql.tar.bz2
vi /etc/my.conf
// my.conf內容參考
"


[mysqld]
#
# Remove leading # and set to the amount of RAM for the most important data
# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.
# innodb_buffer_pool_size = 128M
#
# Remove leading # to turn on a very important data integrity option: logging
# changes to the binary log between backups.
# log_bin
#
# Remove leading # to set options mainly useful for reporting servers.
# The server defaults are faster for transactions and fast SELECTs.
# Adjust sizes as needed, experiment to find the optimal values.
# join_buffer_size = 128M
# sort_buffer_size = 2M
# read_rnd_buffer_size = 2M
datadir=/assets/mysql
socket=/assets/mysql/mysql.sock

# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0

# Recommended in standard MySQL setup
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

[mysqld_safe]
log-error=/assets/mysql/mysqld.log
pid-file=/assets/mysql/mysqld.pid

"

service mysqld restart // 重新啟動mysql
10. laravel redis 安裝:
wget http://download.redis.io/releases/redis-3.2.6.tar.gz
tar xvf redis-3.2.6.tar.gz
cd redis-3.2.6
make && make install;
cp redis.conf /etc/redis
更改redis.conf中的daemonize yes
redis-server /etc/redis/redis.conf // 測試看看是否能夠順利啟動
// 在/etc/init.d/redis 檔案中加入以下內容
"

#!/bin/sh
# chkconfig: 2345 90 10
# description: Redis is a persistent key-value database
# redis Startup script for redis processes
# processname: redis
redis_path="/usr/local/bin/redis-server"
redis_conf="/etc/redis/redis.conf"
redis_pid="/var/run/redis.pid"
# Source function library.
. /etc/rc.d/init.d/functions
[ -x $redis_path ] || exit 0
RETVAL=0
prog="redis"
# Start daemons.
start() {
if [ -e $redis_pid -a ! -z $redis_pid ];then
echo $prog" already running...."
exit 1
fi
echo -n $"Starting $prog "
# Single instance for all caches
$redis_path $redis_conf
RETVAL=$?
[ $RETVAL -eq 0 ] && {
touch /var/lock/subsys/$prog
success $"$prog"
}
echo
return $RETVAL
}
# Stop daemons.
stop() {
echo -n $"Stopping $prog "
killproc -d 10 $redis_path
echo
[ $RETVAL = 0 ] && rm -f $redis_pid /var/lock/subsys/$prog
RETVAL=$?
return $RETVAL
}
# See how we were called.
case "$1" in
start)
start
;;
stop)
stop
;;
status)
status $prog
RETVAL=$?
;;
restart)
stop
start
;;
condrestart)
if test "x`pidof redis`" != x; then
stop
start
fi
;;
*)
echo $"Usage: $0 {start|stop|status|restart|condrestart}"
exit 1
esac
exit $RETVAL

"
chkconfig --add redis // 開機自動啟動, centos7以後應該考慮 systemd的模式啟動 systemctl
chkconfig --level 2345 redis on
service redis restart

11. 通過webhook一鍵push自動部署(包含程式碼和資料庫更新)

chmod u+w /etc/sudoers ;
echo "apache ALL=NOPASSWD:/usr/local/git/bin/git pull" >> /etc/sudoers
echo "apache ALL=NOPASSWD:/usr/local/zend/bin/php artisan cache:clear" >> /etc/sudoers
再註釋掉Defaults requiretty這行,否則會要求有tty才能執行!(TODO: 寫shell實現自動化)
chmod u-w /etc/sudoers

// 在測試過程中,發現dd ("finished") 報錯誤:不知道是不是和php7.1升級有關係,下面是錯誤內容:
"
12. server benchmark testing: https://www.howtoforge.com/how-to-benchmark-your-system-cpu-file-io-mysql-with-sysbench
yum install sysbench
sysbench --test=cpu --cpu-max-prime=20000 run // cpu benchmark test
// file io benchamrktest
sysbench --test=fileio --file-total-size=20G prepare
sysbench --test=fileio --file-total-size=20G --file-test-mode=rndrw --init-rng=on --max-time=300 --max-requests=0 run
// mysql benchmark:
sysbench --test=oltp --oltp-table-size=1000000 --mysql-db=test --mysql-user=root --mysql-password=yourrootsqlpassword prepare
sysbench --test=oltp --oltp-table-size=1000000 --mysql-db=test --mysql-user=root --mysql-password=yourrootsqlpassword --max-time=60 --oltp-read-only=on --max-requests=0 --num-threads=8 run

相關推薦

centos 7.2 Apache+mysql+php step by step

1. 如何允許laravel程式執行sudo shell指令碼? chmod u+w /etc/sudoers ; echo "apache ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers 再註釋掉Defaults

CentOS 7 安裝 Apache / 防火牆 / PHP / MariaDB (MySQL)

技巧 如果本賬號不是root賬號,每次輸入需要口令,可以在輸入以下命令,獲得root許可權 sudo -s 不過此命令有危險,萬一打字錯誤,執行了一些非可逆命令,會導致整個系統崩潰。 以下操作在 CentOS 7.5 執行成功 安裝 Ap

Centos上安裝Apache+Mysql+PHP+WordPress搭建博客

下載 .org 一行 reat 接下來 博客 搭建 admin his 1.安裝Apache 輸入這一行安裝Apache sudo yum install httpd 然後啟動 sudo service httpd start 如果想檢驗是否安裝成功,就在瀏覽器中輸入你服務

CentOS 7.2mysql 8.0.11二進制安裝(親測)

type server png not tex 分享 chown sed tar 本文主要介紹mysql 8.0.11二進制安裝,具體步驟如下1. 解壓文件tar -zxvf mysql-8.0.11-el7-x86_64.tar.gz2. 移動解壓後的數據庫文件mv my

CentOS-7.2安裝mysql 命令記錄

獲取可安裝包 # rpm -Uvh http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm 檢查可安裝包 # yum repolist enabled | grep "mysql.*-communi

CentOS 7 yum nginx MySQL PHP 簡易環境搭建

[[email protected]192 yum.repos.d]# yum list nginx 已載入外掛:fastestmirror nginx

centos 7.2 安裝mysql 修改 初始密碼

# /etc/init.d/mysqld stop # mysqld_safe --user=mysql --skip-grant-tables --skip-networking & # mysql -u root mysql 【這一步 就進入mysql資料庫了

Centos 7.2 安裝ApachePHPMysql、連線Mysql資料庫的包、安裝VSFTP、並配置

一、安裝Apache、PHP、Mysql、連線Mysql資料庫的包: yum install httpd yum -y install php yum -y install php-fpm yum -y install php-mysql yum -y inst

Centos 7.0 編譯安裝LAMP(Linxu+apache+mysql+php)之源碼安裝Apache (一)

mysql apache mysql編譯安裝 apache編譯安裝 lamp編譯安裝 Apache 簡介: Apache是世界使用排名第一的Web服務器軟件。它可以運行在幾乎所有廣泛使用的計算機平臺上,由於其跨平臺和安全性被廣泛使用,是最流行的Web服務器端軟件之一。它快速、可靠

Centos 7.0 編譯安裝LAMP(Linxu+apache+mysql+php)之源碼安裝Mysql (二)

php mysql apache mysql 簡介: MySQL是一個關系型數據庫管理系統,關系數據庫將數據保存在不同的表中,這樣就增加了速度並提高了靈活性。目前其屬於 Oracle 旗下產品。MySQL 是最流行的關系型數據庫管理系統之一,在 WEB 應用方面,MySQL是最好的 RD

Centos 7.0 編譯安裝LAMP(Linxu+apache+mysql+php)之源碼安裝php (三)

lamp apache 源碼編譯lamp php mysql centos 7 編譯安裝lamp PHP簡介: PHP(外文名:PHP: Hypertext Preprocessor,中文名:“超文本預處理器”)是一種通用開源腳本語言。語法吸收了C語言、Java和Perl的特

Build Hadoop 2.7 from source on Centos step by step

Hadoop is one of the best open source for store and processing big data. It has a lot of supports from community and many big companies have used it fo

基於騰訊雲的Centos6.2系統搭建Apache+Mysql+PHP開發環境

fcm 拓展 php代碼 /var/ 安全 size onf tle php-mysql 搭建環境,我肯定需要先購買騰訊雲服務器的哦! 然後,我們打開SecureCRT 7.3,這是一款可以連接Linux系統的客戶端工具,使用的很方便快捷,要註意的是,若你是Linux系統的

阿裏雲CentOS 7.2 MySQL服務啟動失敗的解決思路

阿裏雲 centos 7.2 mysql服務啟動失敗的解決思路阿裏雲 CentOS 7.2 MySQL服務啟動失敗的解決思路前言 :昨天剛剛搭建好的MySQL讓老大看了一下,經過測試已經完成任務。但是今天早晨來的時候發現服務器被關了,此時我的心情崩潰的,但是我非常冷靜的解決了MySQL問題。如下:啟動MySQ

阿裏雲服務器 ECS 部署lamp:centos+apache+mysql+php安裝配置方法 (centos7)

ever linux 命令 port server sel kcon linu 開機 阿裏雲服務 阿裏雲服務器 ECS 部署lamp:centos+apache+mysql+php安裝配置方法 (centos7) 1.效果圖 1 2. 部署步驟 1 1. mysql安裝附加

CentOS 6.5下源碼安裝LAMP(Linux+Apache+Mysql+Php)環境

onf 服務器 mysqld pep usr cnblogs char 格式 hash ---恢復內容開始--- 一、系統環境 系統平臺:CentOS 6.5 (Final) Apache版本:httpd-2.2.31.tar.gz(最新版本2015-07-16) M

CentOS 7.2 MySQL的root密碼忘記時重置方法

mysql數據庫密碼忘記首先確認服務器出於安全的狀態,也就是沒有人能夠任意地連接MySQL數據庫。因為在重新設置mysql的root密碼的期間,MySQL數據庫完全出於沒有密碼保護的狀態下,其他的用戶也可以任意地登錄和修改MySQL的信息。可以采用將MySQL對外的端口封閉,並且停止Apache以及所有的用戶

centos下部署LAMP環境(Linux+Apache+mysql+php)(轉載文章:https://www.cnblogs.com/apro-abra/p/4862285.html)

roo -s -c ice 自己 sql all p地址 iptable 一:安裝apache 1.安裝yum -y install httpd2.開啟apache服務systemctl start httpd.service3.設置apache服務開機啟動systemct

centos 7.2 安裝PHP7及新增php-fpm開機啟動

centos 7 編譯安裝 php-7.2.11的步驟 在官網下載php-7.2.11的php壓縮包,centos 7 安裝 php-7.2.11的步驟,http://cn2.php.net/distributions/php-7.2.11.tar.gz cd /usr

CentOS 7.5 編譯安裝 PHP 7.2.10

文章目錄 安裝環境 建立`PHP`安裝目錄、建立使用者和目錄 安裝依賴庫 建立家目錄存放軟體包目錄 下載解壓原始碼包 下載並安裝php依賴 編譯php 7.2